【问题标题】:Java project and maven project [duplicate]Java项目和maven项目[重复]
【发布时间】:2017-05-28 19:46:26
【问题描述】:

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

不得不说,我对maven知之甚少。我正在使用 NetBeans IDE。

我想出了几个选项:

  1. 制作非 maven 项目 maven 项目并添加依赖项。 我不能这样做,因为其他人以他们的方式使用非 Maven 项目,而我不能像这样进行更改。

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

  3. 为非 maven 项目添加 jars 作为 maven 项目的库。这与 (2) 选项相同。我尝试了它并将所有 maven 项目 jar 作为库添加到我的非 maven 主项目中,但是在运行时有很多 NoClassDefFoundError 异常,因为缺少 jar(maven 项目依赖的第 3 方 jar) .

  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

谢谢大家。

【问题讨论】:

  • 您可以从maven项目生成jar文件,然后将maven项目的jar作为库应用到非maven项目中。
  • @MateuszW90 是的,但我还必须添加 maven 项目所依赖的 jar,每一个依赖项。还有依赖的依赖。等等。我说的对吗?
  • 4.与 3 相同,但添加所有缺少的依赖项。这就是 Maven 会做的事情。
  • @JBNizet 我明白了。我想这是唯一的方法。有什么工具可以帮到我吗?因为几乎不可能检查所有依赖项..(以及依赖项的依赖项..)

标签: java maven


【解决方案1】:

您可以从您的 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>

【讨论】:

  • 谢谢。我必须设置什么吗?我刚刚将 .. 之间的代码添加到项目 pom 中,但没有任何效果.. 未创建具有依赖关系的 jar。
  • @Traveler:我更新了我的代码,以便它可以在打包阶段运行。使用新代码并运行mvn package
  • 仍然没有成功.. 这是我的 pom:codeshare.io/5ZeYN2
  • 它正在工作。感谢您的 pom 调整。作为命令,我使用了来自linkmvn clean compile assembly:single
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-17
  • 2016-11-03
相关资源
最近更新 更多