我有一些库的源代码,它是在 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 中编写一些内容,以便它引用源项目?
如果我设置普通标签,那么它可能会转到全局存储库并从那里获取它。
该怎么办?也许我应该重命名源项目 Artifact 或其他什么?
“SNAPSHOT”这个名字可能适用于此吗?我想给 Piccolo 添加一些功能。
更新
我在我的“目标”项目中引用了子项目的 id 之一,Eclipse 在某处找到了它。但我不确定它是否从我的工作空间中拿走了它。最有可能的是它是从全局存储库中获取的。另外,我无法下载“目标”项目中的任何源代码。这也意味着 Eclipse 可能不会将工作区中的 Artifact 放入存储库中。
最佳答案
您的“源”项目有 pom.xml。这意味着它本身并不是一个 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 构建路径中的项目引用。
关于java - Eclipse下如何将maven格式的所需项目添加到另一个项目中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19990057/