Java maven用户库未打包在我的runnable jar中

Java maven用户库未打包在我的runnable jar中,java,eclipse,maven,onejar,Java,Eclipse,Maven,Onejar,我现在正在为Java编程一年,不得不从以前的程序员那里接手几个项目。自从1998年我开始使用.NET编程以来,我就不是一个编程新手。现在,对于一个Java项目,我需要支持一个基本库的24个版本(以及更高版本)(所有结构都是相同的,但它们特定于第三方应用程序的一个版本)。 两天前,我开始使用Maven,并在一个小的演示工作区上尝试了这一点,以便学习Maven并使所需的东西正常工作。 每个受支持的版本都有几个JAR,我将它们封装在一个用户库中。 为了进行构建,我需要将这个库修改为正确的版本,并将项目

我现在正在为Java编程一年,不得不从以前的程序员那里接手几个项目。自从1998年我开始使用.NET编程以来,我就不是一个编程新手。现在,对于一个Java项目,我需要支持一个基本库的24个版本(以及更高版本)(所有结构都是相同的,但它们特定于第三方应用程序的一个版本)。 两天前,我开始使用Maven,并在一个小的演示工作区上尝试了这一点,以便学习Maven并使所需的东西正常工作。 每个受支持的版本都有几个JAR,我将它们封装在一个用户库中。 为了进行构建,我需要将这个库修改为正确的版本,并将项目导出为可运行的Jar(由于许可证要求,Jar中包含的所有内容)。 因此,我创建了我的第一个POM,如下所示:


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:-),您知道它可能是什么吗?当您说“