Java maven用户库未打包在我的runnable jar中
我现在正在为Java编程一年,不得不从以前的程序员那里接手几个项目。自从1998年我开始使用.NET编程以来,我就不是一个编程新手。现在,对于一个Java项目,我需要支持一个基本库的24个版本(以及更高版本)(所有结构都是相同的,但它们特定于第三方应用程序的一个版本)。 两天前,我开始使用Maven,并在一个小的演示工作区上尝试了这一点,以便学习Maven并使所需的东西正常工作。 每个受支持的版本都有几个JAR,我将它们封装在一个用户库中。 为了进行构建,我需要将这个库修改为正确的版本,并将项目导出为可运行的Jar(由于许可证要求,Jar中包含的所有内容)。 因此,我创建了我的第一个POM,如下所示:Java maven用户库未打包在我的runnable jar中,java,eclipse,maven,onejar,Java,Eclipse,Maven,Onejar,我现在正在为Java编程一年,不得不从以前的程序员那里接手几个项目。自从1998年我开始使用.NET编程以来,我就不是一个编程新手。现在,对于一个Java项目,我需要支持一个基本库的24个版本(以及更高版本)(所有结构都是相同的,但它们特定于第三方应用程序的一个版本)。 两天前,我开始使用Maven,并在一个小的演示工作区上尝试了这一点,以便学习Maven并使所需的东西正常工作。 每个受支持的版本都有几个JAR,我将它们封装在一个用户库中。 为了进行构建,我需要将这个库修改为正确的版本,并将项目
4.0.0
PPC
PPC
1.0.0
罐子
PPC
http://maven.apache.org
UTF-8
log4j
log4j
1.2.16
朱尼特
朱尼特
3.8.1
测试
图书馆项目
图书馆项目
1.0.0
编译
PPC_8.1
真的
PPC_8.1
org.apache.maven.plugins
maven编译器插件
3.1
1.7
1.7
1.7
org.apache.maven.plugins
maven eclipse插件
真的
2.10
org.eclipse.jdt.launching.JRE_容器
org.eclipse.jdt.USER_LIBRARY/Primavera-P6-8.1
org.dstowall
onejar maven插件
1.4.4
com.company.main.App
0.97
真的
奥内贾尔
一罐
PPC_7.0
PPC_7.0
org.apache.maven.plugins
maven编译器插件
3.1
1.7
1.7
1.7
org.apache.maven.plugins
maven eclipse插件
2.10
真的
org.eclipse.jdt.launching.JRE_容器
org.eclipse.jdt.USER_LIBRARY/Primavera-P6-7.0
org.dstowall
onejar maven插件
1.4.4
com.company.main.App
0.97
真的
奥内贾尔
一罐
onejar-maven-plugin.googlecode.com
http://onejar-maven-plugin.googlecode.com/svn/mavenrepo
如你所见,我有两个配置文件。一个用于v8.1,一个用于v7.0
我的“构建”流程:
我首先在Library项目上运行“mvn安装”。
然后我在主项目上运行“mvn包”。这一版本将v8.1(默认配置文件)构建为一个可运行的jar,其中包含除用户库之外的所有依赖项。
下一个调用是“mvn包-PPPC_7.0”,它构建v7.0而不使用用户库
那么我的问题是:我能做些什么改变/做错什么,以便将每个配置文件的用户库添加到可运行jar中?
提前感谢,乔 PS:我正在使用Eclipse Luna(Java EE IDE)我使用的是:
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>com.clouway.App</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-my-jar-with-dependencies</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
maven汇编插件
com.clouway.App
带有依赖项的jar
使用依赖项创建我的jar
包裹
单一的
`
祝你好运 Robby Cornelissen不久前评论了一个建议:
有没有可能将其打包并用作依赖项?这肯定会解决你的问题Robby Cornelissen 6月11日8:52 我不想这样做,但我没有收到新的建议(我自己也没有找到解决办法)。 所以我按照建议打包它们,并将它们添加为依赖项 这是我现在的工作 谢谢,下次再说
乔给人印象深刻。在.NET发布前整整4年,您就开始使用它编程:-)首先是VB6,然后是.NET:-),您知道它可能是什么吗?当您说“