Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何以最佳方式在Eclipse中设置/导入多maven模块SVN连接的项目?_Java_Eclipse_Maven_Svn - Fatal编程技术网

Java 如何以最佳方式在Eclipse中设置/导入多maven模块SVN连接的项目?

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

我在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类(即,应该可以使用“Open Type”对话框以及Eclipse中的所有其他正常java功能(如显示类型/调用层次结构)来查找它们)

  • 使用“文件搜索”或“打开资源”对话框时,应排除所有目标文件夹和.svn文件和文件夹,并且应排除/隐藏导航器中的所有svn文件夹

  • “开放资源”不应多次显示任何单个文件

  • 当我使用“打开资源”或“打开类型”对话框打开一个文件时,我应该能够看到它的svn历史记录

  • 我应该能够在一个步骤中完成整个maven项目(包括所有子模块)的svn切换

  • 项目结构,简而言之:

    <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历史?它应该在包资源管理器中可见。