Maven:jar-with-dependencies包括外部jar

时间:2014-05-28 00:25:35

标签: java maven jar

我想在jar中包含一个带有依赖项的外部jar(在依赖项中指定)。

pom.xml依赖:

<dependency> <groupId>my.package</groupId> <artifactId>my-artifact</artifactId> <version>1.0</version> <scope>system</scope> <systemPath>${basedir}\..\lib\my-artifact.jar</systemPath> </dependency>

以下是jar-with-dependencies的代码:

<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <executions> <execution> <id>CtrlpConversion</id> <configuration> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> <archive> <manifest> <mainClass>my.package.Main</mainClass> <packageName>my.package</packageName> </manifest> </archive> <finalName>MyExecutable</finalName> <appendAssemblyId>false</appendAssemblyId> </configuration> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin>

此pom.xml生成的.jar不包含my-artifact.jar的类。当我尝试运行主要时,我收到以下错误:

Exception in thread "main" java.lang.NoClassDefFoundError: my/package/ClassThatINeed at my.package.Main.main(Main.java:29) Caused by: java.lang.ClassNotFoundException: my.package.ClassThatINeed at java.net.URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) ... 1 more

我很乐意帮助找到这个问题的解决方案。谢谢!!

0 个答案:

没有答案