我一直在拼命尝试从GIT导入一个多模块maven项目到我的(新安装的)STS 3.9.4。 在过去的几个小时里,我尝试了许多在堆栈溢出时发布的解决方案,但它们都没有为我工作。
这些是我做的步骤:
git clone
来自命令行的回购(故意,因为当我使用STS的GIT集成时它没有工作)File
/ Import
/ Maven
/ Existing Maven Projects
(请忽略左上方的红色图标,即使此图标不存在,问题仍然存在)
我可以Run As
/ Maven Install
任何 pom.xml
,但当我尝试编辑java源代码时,Eclipse会告诉我The resource is not on the build path of a Java project
。
为了解决这个问题,我尝试了:
Configure Build Path
/ Set as source folder
buildcommand
org.eclipse.jdt.core.javabuilder
添加到.project 能够构建很好,但是编辑源代码而不支持Organize Imports,Format Source等是一个真正的痛苦。
答案 0 :(得分:1)
这个问题的解决方案在某种程度上是隐藏的,但最后我不得不说原因很清楚。 在我检查了一个不同的多模块项目(https://github.com/Activiti/Activiti.git)后,我确信我的STS和其他组件不会遇到一般问题。因此原因必须位于项目本身。
在pom.xml
级别上正确设置了多模块项目。但最顶层的pom.xml
已被修改:大多数模块已被注释掉:
介绍该更改的开发人员没有遇到任何问题,因为他保留了现有的工作区。并且只有在创建新工作区并且maven扫描pom文件时才会出现此问题。
答案 1 :(得分:1)
从截图中我假设模块嵌套在reactor pom(= parent pom)的目录中,并且已将所有模块导入为项目(reactor和模块)。
不要在"反应堆中添加一个java构建器"项目
确保不要从与reactor pom相对应的项目中打开java文件,而是从相应模块项目中的src文件夹中打开。