Java 如何以最佳方式在Eclipse中设置/导入多maven模块SVN连接的项目?
我在Windows7 64位PC上使用Eclipse(3.4.2*)、m2eclipse(0.9.8)、Subversive(0.7.9)和SVNKit(1.6.10) 有人能就如何在Eclipse中设置(实际上是导入)一个多模块maven项目提供一些建议,同时仍然满足以下要求吗Java 如何以最佳方式在Eclipse中设置/导入多maven模块SVN连接的项目?,java,eclipse,maven,svn,Java,Eclipse,Maven,Svn,我在Windows7 64位PC上使用Eclipse(3.4.2*)、m2eclipse(0.9.8)、Subversive(0.7.9)和SVNKit(1.6.10) 有人能就如何在Eclipse中设置(实际上是导入)一个多模块maven项目提供一些建议,同时仍然满足以下要求吗 根据一般建议,Eclipse应该为每个子模块维护一个项目(如果我没记错的话,subversive插件甚至不再支持单个项目中的嵌套模块) Eclipse应该将所有java文件识别为适当的java类(即,应该可以使用“Op
<main project folder>
|
|
---- pom.xml
|
|
---- module 1
| |
| |
| --- pom.xml
| --- src/main/java
|
---- module 2
[...]
|
|
----pom.xml
|
|
----单元1
| |
| |
|---pom.xml
|---src/main/java
|
----单元2
[...]
我遇到的主要问题是需求2。Eclipse似乎不理解java文件是正确的java类,除非它在子模块中找到它们。要做到这一点,在仍然满足需求4的情况下,我必须在配置工作集时排除主eclipse项目中的一堆文件夹。但我打破了需求5,因为Eclipse随后将在子模块项目中打开java文件,而该项目未连接到SVN。如果我尝试通过将子模块项目连接到SVN来解决这个问题,我就违反了要求6(如果我对主项目进行切换,子模块项目仍然认为它们连接到了旧的分支/主干)
有什么想法/建议吗?改变项目的核心结构不是一种选择。我尝试搜索以前关于这个主题的讨论,但它们似乎都只涵盖了问题的一部分(比如“如何在eclipse中隐藏svn文件/文件夹?”或“Open Type找不到某些类”),没有一个涵盖eclipse+svn+maven项目的整个子模块范围
*我仍然使用这个版本的原因是,据我所知,Eclipse平台本身没有简单、现成的升级功能(即3.4.x版),我讨厌执行全新安装,然后以我想要的方式手动设置所有内容并安装所有插件。我认为如果您执行以下操作,您将获得所需的所有内容
然后,您应该将父级和模块视为单独的项目,并且应该满足您列出的大多数(如果不是全部)要求。Eclipse Indigo的更新很简单,因为m2e可以通过市场从Eclipse和SVN支持中安装……我建议重新下载Eclipse Indigo并配置is,因为这比更改当前安装要简单得多,因为您使用的是旧版本的插件(当然是基于您的Eclipse版本)。Eclipse 3.4.2已经有两年多的历史了。特别是最新的Eclipse Maven插件只适用于Eclipse Indigo…此外,您是否尝试将m2eclipse更新为0.12?我建议只在OP不使用任何非标准Maven插件的情况下才使用Indigo,从这个版本开始,Maven插件可能需要Eclipse对应的插件。另一方面,升级到Helios绝对是值得的,因为m2eclipse和Subversive都做了很多改进。@Nicola。使用m2e,您仍然可以运行非标准插件。只需更改
。使用execute,这几乎就是m2eclipse的行为。不过,请注意,与m2eclipse一样,根据实际插件的不同,您的里程数可能会有所不同。我相信这正是他们在m2e中重新定义插件支持的原因。@khmarbaise。请注意,m2eclipse项目的旧.project
和.classpath
文件与m2e不兼容。.project
文件中的nature和build命令已从m2eclipse更改为m2e,以及.CLASSPATH
中MAVEN2\u CLASSPATH\u容器的全名。没有什么东西是查找和替换不能处理的,但不是像它本来可以直接升级的那样。如果您没有大量的eclipse定制,那么最好将带有m2e的maven项目重新导入到Indigo中。@Alexander Pogrebnyak:真正的问题是,在接下来的几个月里,我不太可能有时间尝试Indigo,因为Helios为我们工作,所以我们暂时会坚持这一点。我也是这么做的。从SVN作为Maven项目一次性导入并不总是能正常工作。很抱歉,但我看不出这有什么帮助。我刚试过,但要求编号5仍然失败…@Jimi你希望在哪里看到svn历史?它应该在包资源管理器中可见。