我有一个包含许多主类的Java。我想创建一个只有一个主类而且只有它的依赖项的Jar。我只想将主类和依赖项的代码包含在jar中。我用Maven制作我的罐子。
答案 0 :(得分:0)
maven的方式是拥有一个父项目,并为每个应用程序提供一个模块项目。每个应用程序项目都有一个在META-IBF / MANIFEST.MF中指定的Main-Class,并且单独的最小依赖项。可能需要有一个或多个内部依赖项的库项目。
/all
/lib-a
pom.xml --> lib-a-0.1-SNAPSHOT.jar
/lib-b
pom.xml --> lib-b-0.1-SNAPSHOT.jar
/app-m
pom.xml --> app-m-0.1-SNAPSHOT.jar
/app-n
pom.xml --> app-n-0.1-SNAPSHOT.jar
...
pom.xml --> all-src-0.1-SNAPSHOT.zip
--> all-0.1-SNAPSHOT.jar
应用程序生成一个带有Main-Class:...条目的清单。 依赖关系是根据应用程序定义的。
你可能想到只有一个项目,以及一个处理本地依赖关系的智能maven插件,但为什么。
您可以将所有来源保留在一个项目中,比如生成带有源的zip文件。 每个应用程序项目都可以从zip中获取特定的源列表。硬。
如果你确实想要一些非常定制的东西,我认为回到 ant + ivy 会更有效。