如何在Eclipse下的另一个项目中添加maven格式化的必需项目?

时间:2013-11-14 22:48:13

标签: java maven buildpath

我有一些库的源代码,它是在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可能不会将工作空间中的工件放入存储库。

1 个答案:

答案 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。