1

我有一些库的源代码,它是在 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 在某处找到了它。但我不确定它是从我的工作区中拿走的。很可能它是从全局存储库中获取的。此外,我无法在“目标”项目中下载任何源代码。这也意味着 Eclipse 可能不会将工作空间中的工件放入存储库中。

4

1 回答 1

0

你的“来源”项目有 pom. 这意味着它本身不是一个 Java 项目,它是“core”、“extras”等项目的容器。

在您的目标项目中,您需要将 a 添加到一个或多个子项目,而不是源项目本身。例如,要添加核心模块(假设它具有 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 构建路径中。

于 2013-11-14T23:01:38.640 回答