我有一些库的源代码,它是在Maven下创建的。当我用Eclipse下载它时,它没有将它识别为Java项目。事件,如果我指定Maven性质,Java性质不会出现(显然对我而言)。
我能用这个项目做的唯一办法就是运行Maven目标。
如果是独立的话,那就没问题了。
让我们将上面的项目称为“源”项目。
现在我想使用源项目的jar(它生成一些jar)作为另一个项目的依赖项,它将被称为“目标”项目。
如果我尝试使用标准Java Build Path
对话框,我可以参考其他项目,甚至没有列出源项目。这就是为什么我说Eclipse不认为它是Java项目。
但可能有可能使用目标项目的pom.xml
来引用源项目吗?
源项目有以下pom:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>piccolo2d-parent</artifactId>
<groupId>org.piccolo2d</groupId>
<version>2.0-SNAPSHOT</version>
<relativePath>./parent/pom.xml</relativePath>
</parent>
<artifactId>piccolo2d-complete</artifactId>
<packaging>pom</packaging>
<name>Piccolo2D</name>
<scm>
<connection>scm:svn:http://piccolo2d.googlecode.com/svn/piccolo2d.java/trunk</connection>
<developerConnection>scm:svn:https://piccolo2d.googlecode.com/svn/piccolo2d.java/trunk</developerConnection>
<url>http://code.google.com/p/piccolo2d/source/browse/piccolo2d.java/trunk</url>
</scm>
<build />
<reporting />
<modules>
<module>parent</module>
<module>core</module>
<module>extras</module>
<module>swt</module>
<module>examples</module>
<module>swt-examples</module>
</modules>
</project>
是否有可能在目标项目的pom.xml中写一些东西,以便它引用源项目?
如果我设置了普通标签,那么它可能会转到全局存储库并从那里获取它。
怎么办?可能是我应该重命名源项目工件还是什么?
可能是“SNAPSHOT”这个名字有用吗?我想为Piccolo添加一些功能。
更新
我在我的“目标”项目中提到了一个子项目的ID,而Eclipse在某个地方找到了它。但我不确定它是从我的工作区中取出来的。最有可能的是它从全局存储库中获取。此外,我无法下载任何源代码insid“目标”项目。这也意味着Eclipse可能不会将工作空间中的工件放入存储库。
答案 0 :(得分:0)
你'来源'项目有pom。这意味着它本身不是一个Java项目,它是“核心”,“额外”等项目的容器。
在目标项目中,您需要添加一个或多个子项目,而不是源项目本身。例如,要添加核心模块(假设它具有artifactId piccolo2d-core,请将以下内容添加到目标pom.xml:
<dependencies>
<dependency>
<groupId>org.piccolo2d</groupId>
<artifactId>piccolo2d-core</artifactId>
<version>2.0-SNAPSHOT</version>
</dependency>
<dependencies>
如果项目是在同一个Eclipse工作区中导入的,Eclipse会在Java Build Path中将引用的子项目添加为Project References。