将多模块 Maven 项目从 Git 导入到 Eclipse/STS
Importing multimodule maven project from Git into Eclipse/STS
我一直在拼命尝试将一个多模块 Maven 项目从 GIT 导入到我的(新安装的)STS 3.9.4 中。
在过去的几个小时里,我尝试了很多发布在堆栈溢出上的解决方案,但是 none 对我有用。
这些是我执行的步骤:
git clone
d 来自命令行的 repo(故意的,因为当我使用 STS 的 GIT 集成时它也不起作用)
- 通过
File
/Import
/Maven
/Existing Maven Projects
导入项目
项目导入后是这样的:
(请忽略左上角的红色图标,没有这个图标问题依旧)
我可以 Run As
/ Maven Install
any pom.xml
,但是当我尝试编辑 java 源代码时,Eclipse 告诉我The resource is not on the build path of a Java project
。
为了解决这个问题,我尝试了:
- 转换为多面形式
- 添加了Java性质
Configure Build Path
/ Set as source folder
- 将
buildcommand
org.eclipse.jdt.core.javabuilder
添加到 .project
能够构建很好,但是在不支持 Organize Imports、Format Source 等的情况下编辑源代码真的很痛苦。
这个问题的解决方法是隐藏的,但最后我不得不说原因很清楚。
在检查了另一个多模块项目 (https://github.com/Activiti/Activiti.git) 后,我确定我的 STS 和其他组件不会遇到一般性问题。所以原因一定是在项目本身。
多模块项目已在 pom.xml
级别正确设置。但是最上面的 pom.xml
被修改了: most 的模块被注释掉了:
引入该更改的开发人员没有遇到任何问题,因为他保留了现有的工作区。并且仅当创建新工作区并且 maven 扫描 pom 文件时才会出现问题。
根据您的屏幕截图,我假设模块嵌套在 reactor pom(=parent pom) 的目录中,并且您已将它们全部导入为项目(reactor 和模块)。
不要将 java 生成器添加到 "reactor" 项目。
确保不要从与 reactor pom 对应的项目中打开 java 文件,而是从相应模块项目中的 src 文件夹中打开。
我一直在拼命尝试将一个多模块 Maven 项目从 GIT 导入到我的(新安装的)STS 3.9.4 中。 在过去的几个小时里,我尝试了很多发布在堆栈溢出上的解决方案,但是 none 对我有用。
这些是我执行的步骤:
git clone
d 来自命令行的 repo(故意的,因为当我使用 STS 的 GIT 集成时它也不起作用)- 通过
File
/Import
/Maven
/Existing Maven Projects
导入项目
项目导入后是这样的:
(请忽略左上角的红色图标,没有这个图标问题依旧)
我可以 Run As
/ Maven Install
any pom.xml
,但是当我尝试编辑 java 源代码时,Eclipse 告诉我The resource is not on the build path of a Java project
。
为了解决这个问题,我尝试了:
- 转换为多面形式
- 添加了Java性质
Configure Build Path
/Set as source folder
- 将
buildcommand
org.eclipse.jdt.core.javabuilder
添加到 .project
能够构建很好,但是在不支持 Organize Imports、Format Source 等的情况下编辑源代码真的很痛苦。
这个问题的解决方法是隐藏的,但最后我不得不说原因很清楚。 在检查了另一个多模块项目 (https://github.com/Activiti/Activiti.git) 后,我确定我的 STS 和其他组件不会遇到一般性问题。所以原因一定是在项目本身。
多模块项目已在 pom.xml
级别正确设置。但是最上面的 pom.xml
被修改了: most 的模块被注释掉了:
引入该更改的开发人员没有遇到任何问题,因为他保留了现有的工作区。并且仅当创建新工作区并且 maven 扫描 pom 文件时才会出现问题。
根据您的屏幕截图,我假设模块嵌套在 reactor pom(=parent pom) 的目录中,并且您已将它们全部导入为项目(reactor 和模块)。
不要将 java 生成器添加到 "reactor" 项目。
确保不要从与 reactor pom 对应的项目中打开 java 文件,而是从相应模块项目中的 src 文件夹中打开。