Java项目和maven项目

时间:2017-01-13 12:22:49

标签: java maven

我有几个java 非maven项目(有一个主项目)和几个 maven项目(有一个主项目)。现在我需要在非maven项目中使用maven-projects功能。

我不得不说,我对maven知之甚少。我在NetBeans IDE中工作。

我有几个选择:

  1. 制作非maven项目maven项目并添加依赖项。 我不能这样做,因为其他人按照他们的方式使用非maven项目,我不能只是做这样的改变。

  2. 将maven项目设为非maven项目并将其添加为库 我不能这样做,因为会有很多库要添加。依赖关系可能很大。

  3. 对于非maven项目,将jar作为maven项目的库添加。这与(2)选项相同。我尝试了它并将所有maven项目罐作为库添加到我的非maven主项目中,但是在运行时由于缺少罐子而有很多NoClassDefFoundError例外(maven项目依赖的第三方罐子)上)。

  4. 有什么想法吗?

    提前谢谢。

    解决

    我使用了来自 chresse 的pom调整。 整个pom在这里:https://codeshare.io/5ZeYN2

    我使用了 Tunaki 问题中的maven命令,标记为(how-can-i-create-an-executable-jar-with-dependencies-using-maven)的副本 mvn clean compile assembly:single

    谢谢大家。

1 个答案:

答案 0 :(得分:3)

您可以从maven项目中生成包含所有依赖项的jar。

将以下插件添加到主maven项目的pom中。 mvn assembly:single将创建一个包含所有依赖项的附加jar('projekt'-jar-with-dependencies.jar),它可以包含在您的非maven项目中:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-assembly-plugin</artifactId>
  <version>2.6</version>
  <configuration>
    <descriptorRefs>
      <descriptorRef>jar-with-dependencies</descriptorRef>
    </descriptorRefs>
  </configuration>
  <executions>
    <execution>
      <phase>package</phase>
      <goals>
        <goal>single</goal>
      </goals>
    </execution>
  </executions>
</plugin>