我创建了两个最简单的eclipse maven项目,一个是 test1 ,另一个是 test2 。
Project test1 只包含一个'say hello'静态main方法,它只有Main.java类。
项目 test2 也只包含一个静态主方法,在其唯一的类Main.java中调用 test1 的'say hello'方法。
当然,在Project test2 的pom.xml中,声明了对test1的依赖。
而已!
当然,我可以使用'maven clean package'成功构建项目 test1 ,然后运行OK。
但是当我尝试使用'maven clean package'构建 test2 时,它发出错误:
“[错误]无法在项目测试2上执行目标:无法解析项目测试的依赖项:test2:jar:0.0.1-SNAPSHOT:找不到工件测试:test1:jar:0.0.1-SNAPSHOT - &gt ; [帮助1] “
我知道如果我使用 Test1 运行' mvn install ',一切都会好的,但我只是不想将Test1安装到本地maven存储库中,我想要为了使其在本地工作区中可靠,我该怎么做?我有什么问题吗?
顺便说一句,如果我在eclipse中打开'Maven Repositories'视图,我可以看到'test1 - jar'已经存在于'Local Repositories' - &gt ;'Workspace Projects',这意味着jar已经安装在Eclipse的工作区存储库中。非常奇怪的是,'test2 - jar'也存在,尽管'mvn package'失败了。
答案 0 :(得分:0)
Eclipse Maven插件m2e有一个名为" Workspace Resolution"的功能。如果启用它,则可以直接使用工作空间中其他项目的结果。你可以看到,如果你打开" Maven Dependencies"它可以工作。 Eclipse项目中的文件夹。在那里,你可以看到另一个项目前面的文件夹符号(而不是其他罐子的常用二进制符号)。
可以全局(在首选项中)或按项目启用工作区分辨率(右键单击 - > Maven - >启用工作区分辨率)。