我只想知道如何包含一个包含所有依赖jar的jar文件,作为另一个项目的依赖项。我尝试了将export导出为可运行的jar选项,虽然在独立运行项目时它确实可以工作,但是当将jar本身作为另一个项目的依赖项时,我会遇到noclassdeffound
错误。总结一下,假设我有一个项目A
,它依赖于一些外部jars a.dep1
和a.dep2
,我通过将项目A导出为可运行的jar文件将它们包含在jar中。现在,我希望将项目A
本身用作项目B
中的依赖项,为此,我在项目A
中加入了项目B
的罐子。但是,当尝试运行时,出现noclassdeffound
错误。我不想使用Maven插件。这可能吗?
答案 0 :(得分:0)
在这种情况下,您应该使用Maven 那么您需要创建一个胖子罐。 一个胖子罐将在其中包含所有需要的依赖项。 可以使用Assembly插件创建此类jar,您可以在此处查看示例:
通常,如果您使用的是maven,则不必这样做,因为maven会根据第一个jar的pom文件带来jar需要的所有依赖项。
答案 1 :(得分:0)
罐子只是文件的集合;您可以通过命令行自由控制要包含的内容。 https://docs.oracle.com/javase/tutorial/deployment/jar/basicsindex.html应该教会您需要了解的知识