【发布时间】:2012-05-17 02:22:03
【问题描述】:
我们已从 Archiva 迁移到 Nexus,并且仍在使用 Maven 2。
我们在本地执行 eclipse:eclipse 以便根据 POM 中的依赖关系生成 Eclipse .project 和 .classpath 文件,然后我们将项目导入 Eclipse 进行开发。我们不使用 M2Eclipse 的原因有很多。
由于使用 Nexus,我们遇到的问题是项目在工作空间中并不总是相互引用,而是引用各自的 JAR。
我注意到 Nexus 将时间戳附加到 JAR 名称和 MVN 输出状态,例如:
[INFO] Artifact myapp-bom:jar:7.3.0.2.1-SNAPSHOT already available as a workspace project, but with different version. Expected: 7.3.0.2.1-20120508.115037-68, found: 7.3.0.2.1-SNAPSHOT
我觉得这就是 eclipse:eclipse 生成包含 JAR 引用(基于本地 maven 存储库)而不是 项目引用的 .classpath 文件的原因。当我们使用 Archiva(并且没有时间戳)时,我们通常会获取 项目引用,而这正是我们想要的。
有没有其他人遇到过这个问题,如何解决?我读到 maven 3 强制生成时间戳。同样,如何让 eclipse:eclipse 生成合理的 .classpath 文件?
干杯, 蚂蚁
PS - 我们的一些项目来自不同的 SVN 存储库。似乎如果在父 pom 中引用了 Eclipse 项目,eclipse:eclipse 会创建一个项目引用,但如果 Eclipse 项目来自不同的父 pom,但仍在工作区中,则它只能生成 JAR 引用。
【问题讨论】:
-
您使用的是哪个 Eclipse 版本?
-
3.6 或我们中的一些人正在使用 IBM RAD(也是 3.6 变体)。
-
我认为 Eclipse 版本不相关,因为 eclipse:eclipse 生成的 .classpath 文件是这样的:
即它是一个 JAR 引用,而不是一个项目引用。 -
IBM RAD 的哪个版本? RAD 总是让人头疼。
-
忘记 RAD - 问题出现在“面向 Web 开发人员的 Eclipse Java EE IDE。版本:Helios Release Build id: 20100617-1415”,它是 3.6 版本。