如何在eclipse中的可执行jar的类路径中获取我的外部jar?

时间:2012-11-15 13:58:15

标签: java eclipse maven

我已经在我的pom.xml中添加了一个指定mainClass的部分,并允许它实质上创建一个可执行jar。我已经包含了一堆maven管理的依赖项。它编译,如果我运行没有选项的程序,它执行正常,显示使用信息。但是,如果我实际传入参数,它会失败并说NoClassDefFoundError:com / sas / isd / midasapi / ParticipantDetailExt,它位于我作为外部jar包含的jar中。我很困惑它编译并运行以显示使用信息,但由于ParticipantDetailExt是导入的类,因此无法找到该类。它不会识别在编译期间没有找到它吗?我如何得到它,以便在运行我的exectutable jar时看到带有ParticipantDetailExt的jar?除了将jar添加为外部jar之外,还有一个我需要做的类路径事件或pom事吗?

1 个答案:

答案 0 :(得分:1)

我假设您正在运行mvn clean package或mvn clean install来创建jar。默认情况下,maven项目创建的jar不包含该jar中的依赖项。

选项1#创建一个jar-with-dependencies,参见:How can I create an executable JAR with dependencies using Maven?

选项2#如果您只是想将依赖项复制到lib文件夹,请参阅:http://maven.apache.org/plugins/maven-dependency-plugin/copy-dependencies-mojo.html