我试图寻找存在的问题,但无法找到任何 - 感觉就像我的问题很简单,但可能是因为它是非常具体的我不能找到#2 /谷歌的答案。Maven的依赖和eclipse的classpath
不管怎么说 - 我与Maven的一些项目是互相依赖的。在某些情况下,我希望依赖项位于JAR上而不是项目依赖项(即,我希望依赖项成为Eclipse中“库”的一部分,而不是构建路径中的“项目”)。
非常感谢您的帮助!由于
我试图寻找存在的问题,但无法找到任何 - 感觉就像我的问题很简单,但可能是因为它是非常具体的我不能找到#2 /谷歌的答案。Maven的依赖和eclipse的classpath
不管怎么说 - 我与Maven的一些项目是互相依赖的。在某些情况下,我希望依赖项位于JAR上而不是项目依赖项(即,我希望依赖项成为Eclipse中“库”的一部分,而不是构建路径中的“项目”)。
非常感谢您的帮助!由于
要获取引用的项目在同一工作区作为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。
在Eclipse中的项目属性,选择Maven的。有一个复选框'解决工作区项目的依赖关系'。如果选中,则使用Eclipse项目。否则,像其他maven依赖项一样使用jar,假设你正常情况下在你的pom.xml中有依赖关系。
编辑:如果你的项目是不是一个Maven项目,那么你就必须建立在Eclipse外部的jar并将其添加为一个瓶子或罐子外部正常。如果该项目是一个maven项目,那么上面的工作就会起作用。
说Client-Project
取决于Services-Project
。如果Services-Project
生成JAR。在Client-Project
POM中,您将表达对此JAR的依赖关系。这将是这样的:如果服务项目生成JAR称为com.mycompany.services-1.3.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>
,依赖将是:
<dependency>
<groupId>com.mycompany</groupId>
<artifactId>services</artifactId>
<version>1.3</version>
</dependency>
这就是我所做的,并且我添加了
然后请参阅@Matthew Farwell的建议。您可能选择了“解决Workspace项目的依赖关系”选项。 –
我没有看到项目属性下的“Maven”选项,我也没有看到任何地方的复选框。我正在使用Eclipse Indigo,并且我有Eclipse插件的Maven集成 –
这些项目实际上是Maven项目吗?你有类路径等maven依赖吗? –
classpath确实有maven依赖关系(库依赖关系到M2_REPO等)。该项目本身不是Maven项目,我尝试安装Eclipse IAM插件来执行“转换到Maven项目”,但我得到了“所选操作目前不可用” –