Maven依赖和eclipse类路径

时间:2011-11-30 14:24:28

标签: eclipse maven

我试图搜索现有的问题,但无法找到任何问题 - 感觉我的问题很简单,但可能是因为它非常具体我无法在Stackoverflow / Google上找到答案。

无论如何 - 我与Maven的项目相互依赖。在某些情况下,我希望依赖项位于JAR而不是项目依赖项(即,我希望依赖项是Eclipse中“库”的一部分,而不是构建路径中的“项目”)。

非常感谢您的帮助!感谢

3 个答案:

答案 0 :(得分:3)

要将引用的项目与jar文件而不是项目放在同一个工作区中,我们可以使用VM参数-Declipse.useProjectReferences = false或将其添加到pom文件中。

    <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-eclipse-plugin</artifactId>
    <version>2.9</version>
    <configuration>
      <useProjectReferences>false</useProjectReferences>
    </configuration>
  </plugin>

有关详细信息,请参阅此URL

答案 1 :(得分:2)

在Eclipse的项目属性中,选择Maven。有一个复选框,“解决工作区项目的依赖关系”。如果选中此选项,则使用Eclipse项目。否则,jars将与其他maven依赖项一样使用,假设您正常地在pom.xml中获得了依赖项。

编辑:如果您的项目不是maven项目,那么您必须在Eclipse外部创建jar并将其添加为jar或外部jar。如果项目是maven项目,那么上面的工作就可以了。

答案 2 :(得分:0)

Client-Project取决于Services-Project。如果Services-Project生成JAR。在Client-Project POM中,您将表达对此JAR的依赖。它会是这样的:

<dependency>
  <groupId>group.id.of.services.project.goes.here</groupId>
  <artifactId>artifact.id.of.services.project.goes.here</artifactId>
  <version>version.number.of.services.jar</version>
</dependency>

如果services项目生成一个名为com.mycompany.services-1.3.jar的JAR,则依赖项为:

<dependency>
  <groupId>com.mycompany</groupId>
  <artifactId>services</artifactId>
  <version>1.3</version>
</dependency>