From 5cae01afd663cb93ecd672e6b8cd3b130edb98be Mon Sep 17 00:00:00 2001 From: samskivert Date: Wed, 8 Sep 2010 22:56:00 +0000 Subject: [PATCH] Second entry into "Why Maven sucks" journal: Sun "enhanced" the jar file specification to allow dependencies to be expressed inside jar files, which cause the JVM to try to magically add dependent jar files to the classpath. This is half-assed and wrong in too many ways to enumerate here. They then helpfully added activation.jar to mail.jar under the multiple misguided assumptions that no one would ever possibly need to use mail.jar without also having activation.jar in their classpath, with that exact name, and located precisely in the same directory. I can't possibly imagine devating from those implicit requirements. Maven then upped the ante on this little fiasco by deciding that any time the Java compiler generates a warning that they can't parse, they should fail the build. Clearly it's critical that your build system be conversant in every possible warning that might be emitted by your compiler. As a result, when I fix their boneheaded default of suppressing warnings by default, the build now fails with this demonstration of awesomeness: could not parse error message: warning: [path] bad path element "/home/mdb/.m2/repository/javax/mail/mail/1.4.1/activation.jar": no such file or directory Thank you Sun, and thank you Maven. Fortunately, I can tell javac to not emit warnings for these bogus jar dependencies, which I have done. git-svn-id: https://samskivert.googlecode.com/svn/trunk@2860 6335cc39-0255-0410-8fd6-9bcaacd3b74c --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 1d3c4056..458f9272 100644 --- a/pom.xml +++ b/pom.xml @@ -87,7 +87,7 @@ 1.5 true true - + com/samskivert/velocity/** com/samskivert/xml/**