Discussion:
Optional Maven dependencies
Mikael Ståldal
2014-09-16 07:39:34 UTC
Permalink
log4j-core has quite some Maven dependencies declared
with <optional>true</optional>. E.g. Jackson.

Is that really wise? I see a risk that users of Log4j is not aware if this
and will get ClassNotFoundException:s at runtime.

http://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html
--
Mikael Ståldal
Chief Software Architect
*Appear*
Phone: +46 8 545 91 572
Email: ***@appearnetworks.com
Matt Sicker
2014-09-17 01:34:53 UTC
Permalink
We'd certainly like to improve this in the documentation and have been
discussing it recently. I made sure to add a bunch of comments (which
inspired others to do the same afterward) to the pom file to note what each
dependency was used for.

On 16 September 2014 02:39, Mikael Ståldal <
Post by Mikael Ståldal
log4j-core has quite some Maven dependencies declared
with <optional>true</optional>. E.g. Jackson.
Is that really wise? I see a risk that users of Log4j is not aware if this
and will get ClassNotFoundException:s at runtime.
http://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html
--
Mikael Ståldal
Chief Software Architect
*Appear*
Phone: +46 8 545 91 572
--
Matt Sicker <***@gmail.com>
Remko Popma
2014-09-17 02:44:59 UTC
Permalink
I'll create a Jira to add a page with runtime dependencies to the site. We have one (core component index page) but it's kind if hidden and Ralph mentioned he wanted a link from the left nav menu. He also mentioned a graph but I have trouble picturing what he has in mind.

Sent from my iPhone
We'd certainly like to improve this in the documentation and have been discussing it recently. I made sure to add a bunch of comments (which inspired others to do the same afterward) to the pom file to note what each dependency was used for.
log4j-core has quite some Maven dependencies declared with <optional>true</optional>. E.g. Jackson.
Is that really wise? I see a risk that users of Log4j is not aware if this and will get ClassNotFoundException:s at runtime.
http://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html
--
Mikael Ståldal
Chief Software Architect
Appear
Phone: +46 8 545 91 572
--
Ralph Goers
2014-09-17 03:03:21 UTC
Permalink
Sorry, not a graph but a table. One column with the features and the other with their dependencies.

Sent from my iPad
Post by Remko Popma
I'll create a Jira to add a page with runtime dependencies to the site. We have one (core component index page) but it's kind if hidden and Ralph mentioned he wanted a link from the left nav menu. He also mentioned a graph but I have trouble picturing what he has in mind.
Sent from my iPhone
We'd certainly like to improve this in the documentation and have been discussing it recently. I made sure to add a bunch of comments (which inspired others to do the same afterward) to the pom file to note what each dependency was used for.
log4j-core has quite some Maven dependencies declared with <optional>true</optional>. E.g. Jackson.
Is that really wise? I see a risk that users of Log4j is not aware if this and will get ClassNotFoundException:s at runtime.
http://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html
--
Mikael Ståldal
Chief Software Architect
Appear
Phone: +46 8 545 91 572
--
Remko Popma
2014-09-17 03:40:41 UTC
Permalink
Ah, ok. Thanks for the clarification.

Sent from my iPhone
Post by Ralph Goers
Sorry, not a graph but a table. One column with the features and the other with their dependencies.
Sent from my iPad
Post by Remko Popma
I'll create a Jira to add a page with runtime dependencies to the site. We have one (core component index page) but it's kind if hidden and Ralph mentioned he wanted a link from the left nav menu. He also mentioned a graph but I have trouble picturing what he has in mind.
Sent from my iPhone
We'd certainly like to improve this in the documentation and have been discussing it recently. I made sure to add a bunch of comments (which inspired others to do the same afterward) to the pom file to note what each dependency was used for.
log4j-core has quite some Maven dependencies declared with <optional>true</optional>. E.g. Jackson.
Is that really wise? I see a risk that users of Log4j is not aware if this and will get ClassNotFoundException:s at runtime.
http://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html
--
Mikael Ståldal
Chief Software Architect
Appear
Phone: +46 8 545 91 572
--
Mikael Ståldal
2014-09-17 10:08:14 UTC
Permalink
I guess that most Log4j users are not going to read the comments in the POM.
Post by Matt Sicker
We'd certainly like to improve this in the documentation and have been
discussing it recently. I made sure to add a bunch of comments (which
inspired others to do the same afterward) to the pom file to note what each
dependency was used for.
On 16 September 2014 02:39, Mikael Ståldal <
Post by Mikael Ståldal
log4j-core has quite some Maven dependencies declared
with <optional>true</optional>. E.g. Jackson.
Is that really wise? I see a risk that users of Log4j is not aware if
this and will get ClassNotFoundException:s at runtime.
http://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html
--
Mikael Ståldal
Chief Software Architect
*Appear*
Phone: +46 8 545 91 572
--
--
Mikael Ståldal
Chief Software Architect
*Appear*
Phone: +46 8 545 91 572
Email: ***@appearnetworks.com
Remko Popma
2014-09-17 10:16:56 UTC
Permalink
There's a new Jira for this now:
https://issues.apache.org/jira/browse/LOG4J2-833

Patches welcome! :-)

Sent from my iPhone
Post by Mikael Ståldal
I guess that most Log4j users are not going to read the comments in the POM.
We'd certainly like to improve this in the documentation and have been discussing it recently. I made sure to add a bunch of comments (which inspired others to do the same afterward) to the pom file to note what each dependency was used for.
log4j-core has quite some Maven dependencies declared with <optional>true</optional>. E.g. Jackson.
Is that really wise? I see a risk that users of Log4j is not aware if this and will get ClassNotFoundException:s at runtime.
http://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html
--
Mikael Ståldal
Chief Software Architect
Appear
Phone: +46 8 545 91 572
--
--
Mikael Ståldal
Chief Software Architect
Appear
Phone: +46 8 545 91 572
Matt Sicker
2014-09-17 15:48:18 UTC
Permalink
This reminds me of an idea I had lately. A custom Doclet (I think that's
what it's called) we can use to generate our site documentation from so
that we can centralize docs into javadocs for the most part. It's something
I'd like to investigate to see how feasible it is, but it might be nice to
use rather normal javadocs to explain the various plugins and such, and
then have the manual be generated from the summaries and such. As a
developer, I tend to prefer looking at javadocs for the lower level
details, and a manual for the high level concepts and architecture ideas.
Making documentation appear in more than one place without duplicating it
manually and all the problems that come from that would be great.
Post by Remko Popma
https://issues.apache.org/jira/browse/LOG4J2-833
Patches welcome! :-)
Sent from my iPhone
I guess that most Log4j users are not going to read the comments in the POM.
Post by Matt Sicker
We'd certainly like to improve this in the documentation and have been
discussing it recently. I made sure to add a bunch of comments (which
inspired others to do the same afterward) to the pom file to note what each
dependency was used for.
On 16 September 2014 02:39, Mikael Ståldal <
Post by Mikael Ståldal
log4j-core has quite some Maven dependencies declared
with <optional>true</optional>. E.g. Jackson.
Is that really wise? I see a risk that users of Log4j is not aware if
this and will get ClassNotFoundException:s at runtime.
http://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html
--
Mikael Ståldal
Chief Software Architect
*Appear*
Phone: +46 8 545 91 572
--
--
Mikael Ståldal
Chief Software Architect
*Appear*
Phone: +46 8 545 91 572
--
Matt Sicker <***@gmail.com>
Matt Sicker
2014-09-18 23:04:31 UTC
Permalink
Scratch that idea; it's damn near impossible to find anything about doclets
anymore thanks to Oracle breaking every website they've taken over. So many
dead links!
Post by Matt Sicker
This reminds me of an idea I had lately. A custom Doclet (I think that's
what it's called) we can use to generate our site documentation from so
that we can centralize docs into javadocs for the most part. It's something
I'd like to investigate to see how feasible it is, but it might be nice to
use rather normal javadocs to explain the various plugins and such, and
then have the manual be generated from the summaries and such. As a
developer, I tend to prefer looking at javadocs for the lower level
details, and a manual for the high level concepts and architecture ideas.
Making documentation appear in more than one place without duplicating it
manually and all the problems that come from that would be great.
Post by Remko Popma
https://issues.apache.org/jira/browse/LOG4J2-833
Patches welcome! :-)
Sent from my iPhone
On 2014/09/17, at 19:08, Mikael Ståldal <
I guess that most Log4j users are not going to read the comments in the POM.
Post by Matt Sicker
We'd certainly like to improve this in the documentation and have been
discussing it recently. I made sure to add a bunch of comments (which
inspired others to do the same afterward) to the pom file to note what each
dependency was used for.
On 16 September 2014 02:39, Mikael Ståldal <
Post by Mikael Ståldal
log4j-core has quite some Maven dependencies declared
with <optional>true</optional>. E.g. Jackson.
Is that really wise? I see a risk that users of Log4j is not aware if
this and will get ClassNotFoundException:s at runtime.
http://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html
--
Mikael Ståldal
Chief Software Architect
*Appear*
Phone: +46 8 545 91 572
--
--
Mikael Ståldal
Chief Software Architect
*Appear*
Phone: +46 8 545 91 572
--
--
Matt Sicker <***@gmail.com>
Loading...