Ok, thanks for some information!
Jan-Christopher Bals-2 wrote: > > Yes. The behavior is correct. > > Maven does not include the log4j jar because jars cannot contain other > jars. > > When you use additional jars at runtime, you have to provide them via the > classpath. > > And as far as i know you cannot define the classpath of jar inside the jar > like the main class. > > So maven cannot set the classpath for you. Moreover Maven cannot know > where > the jar is executed, so it cannot guarantee that the referenced jars in > the > classpath are present. > > 2007/6/26, DCVer <[EMAIL PROTECTED]>: >> >> >> Thanks for reply. >> >> Hmm, I think my jar doesn't contain log4j - it only contains App.class >> and >> pom.xml with pom.properties and manifest.mf. Is it a correctly built jar? >> >> And I wonder why Maven2 won't set *somewhere* classpaths to jars on its >> own >> if it knows where they are :-/ >> >> >> Jan-Christopher Bals-2 wrote: >> > >> > You have to provide log4j via the classpath on your own. >> > Maven does include log4j in your generated jar automatically. >> > >> > But Maven can generate the classpath for you >> > http://maven.apache.org/plugins/maven-dependency-plugin/usage.html >> > ->dependency:build-classpath >> > >> > >> > 2007/6/26, DCVer <[EMAIL PROTECTED]>: >> >> >> >> >> >> Hi, >> >> >> >> I'm creating a jar using "mvn package". The files, which are included >> in >> >> this jar are using another jar (e.g. log4j-1.2.14.jar), which are >> stored >> >> in >> >> maven repository. My part of pom.xml file responsible for dependencies >> >> looks >> >> like: >> >> >> >> <dependency> >> >> <groupId>log4j</groupId> >> >> <artifactId>log4j</artifactId> >> >> <version>1.2.14</version> >> >> <scope>compile</scope> >> >> <type>jar</type> >> >> </dependency> >> >> >> >> The "mvn package" process finishes correctly, but when i run the jar >> >> using: >> >> >> >> java -cp target\my-app-1.0-SNAPSHOT.jar com.mycompany.app.App >> >> >> >> i receive the error: >> >> >> >> Exception in thread "main" java.lang.NoClassDefFoundError: >> >> org/apache/log4j/Logger >> >> >> >> (on line: >> >> private static Logger logger = Logger.getLogger("com.mycompany.app.App >> "); >> >> >> >> In my opinion the jar, that was created using "mvn package" doesn't >> know >> >> about dependencies (and about jars stored in repository?). How should >> I >> >> set >> >> classpaths and make this jar work correctly? Isn't it a BASIC >> >> functionality, >> >> that Maven2 should do, when I set <dependency> in pom.xml file? >> >> >> >> I tried this with other jars (in repository) and other methods of the >> >> classes included in jars and the results were exactly the same. >> >> -- >> >> View this message in context: >> >> >> http://www.nabble.com/adding-the-classpath-to-jar-file-tf3982263s177.html#a11305225 >> >> Sent from the Maven - Users mailing list archive at Nabble.com. >> >> >> >> >> >> --------------------------------------------------------------------- >> >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> >> >> >> > >> > >> >> -- >> View this message in context: >> http://www.nabble.com/adding-the-classpath-to-jar-file-tf3982263s177.html#a11305662 >> Sent from the Maven - Users mailing list archive at Nabble.com. >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> > > -- View this message in context: http://www.nabble.com/adding-the-classpath-to-jar-file-tf3982263s177.html#a11306165 Sent from the Maven - Users mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
