如何以正确的方式将maven集成到Eclipse和软件开发过程中?

如何以正确的方式将maven集成到Eclipse和软件开发过程中?,eclipse,version-control,maven-2,m2eclipse,eclipse-wtp,Eclipse,Version Control,Maven 2,M2eclipse,Eclipse Wtp,我是马文的新手。然而,我从中受益的主要特性是自动依赖关系管理。标准化的目录结构看起来也不错,但是Eclipse也有一个标准的目录结构。目录结构现在独立于Eclipse,但现在它依赖于maven。好的,我明白了,这两个程序在这一点上似乎都很灵活 我不太确定maven是否更专注于服务器或客户端系统,例如,是否有生成项目网站的功能/插件。这在服务器系统上不是很有意义吗 如何将maven与版本控制系统(VCS)集成,例如SVN?我想到一个系统,其中有一个存储库,并且始终是最新的网站,其中包含用于开发工件

我是马文的新手。然而,我从中受益的主要特性是自动依赖关系管理。标准化的目录结构看起来也不错,但是Eclipse也有一个标准的目录结构。目录结构现在独立于Eclipse,但现在它依赖于maven。好的,我明白了,这两个程序在这一点上似乎都很灵活

我不太确定maven是否更专注于服务器或客户端系统,例如,是否有生成项目网站的功能/插件。这在服务器系统上不是很有意义吗

如何将maven与版本控制系统(VCS)集成,例如SVN?我想到一个系统,其中有一个存储库,并且始终是最新的网站,其中包含用于开发工件的下载部分

如何将maven与Eclipse集成?我现在使用m2eclipse与WTP集成。没关系,但它有一些我不喜欢的行为,例如:

  • 当我生成新的Java项目时,JRE版本设置为1.4。我必须手动将其重置为1.6/工作区默认值
  • Facets配置不稳定。某些配置必须以特定顺序手动完成
如果我多读一些,也许我可以修复它们。我对它的WTP扩展有一个或多或少严重的问题。我认为重要的一点是,WTP的扩展是而且可能没有生产质量

我知道还有另外一个插件将maven集成到Eclipse中。我还没有试过。更好吗

我还认为,maven可能对更多领域有用。例如,目录结构可以扩展以容纳需求、规范和建模工件。我认为这只有在标准化的情况下才能奏效。所有文档的版本控制也很好

有很多东西可以集成起来支持整个软件开发过程。也许它是不现实的,得到所有这些功能。目前,Eclipse与WTP和VCS的集成对我来说是最重要的


有什么建议吗?提前感谢。

一些随机点可以将您推向正确的方向:

标准化的目录结构看起来也不错,但是Eclipse也有一个标准的目录结构

  • Eclipse没有“标准”目录结构。例如,有些人将单元测试放在代码旁边的
    src
    中,而另一些人将其放在单独的目录中,如
    tests
    test
    。您可以根据需要配置任意一个,但Maven Follow具有几乎所有人都遵循的功能:
  • 源代码位于
    src/main/java
  • src/test/java中测试
  • src/main/resources中运行所需的资源
    
    • 语言文件
    • Spring配置文件
  • 运行测试所需的资源
    • 金奖
    • src/main/config中的配置文件
  • Eclipse是一个IDE,Maven是一个构建管理工具
  • 举个例子:如果您要求Eclipse构建一个JAR/WAR,您必须手动告诉它要包含什么以及在哪里。因为您将文件置于Maven的默认设置中,所以会得到如下结果:
    • JAR/WAR包含来自
      src/main/Java
      的编译Java类,但不包含来自
      src/test/Java
    • 来自
      src/main/config
      的配置文件不会进入JAR/WAR(如果它进入了,则有点违背配置文件的目的)
    • 来自
      src/test/resources
      的测试资源不要进入JAR/WAR
  • 如果您决定构建一个程序集(Maven为您的代码分发版说话,您可以将其放在您的网站上,包括文档、源代码、二进制文件等),它可以将JAR、配置文件和
    javadocs
    制作成ZIP文件
我不太确定maven是否更专注于服务器或客户端系统,例如,是否有生成项目网站的功能/插件

是的,是的

这在服务器系统上不是很有意义吗

不是真的。文档对于任何项目都是至关重要的,尤其是对于客户机系统

如果我多读一些,也许我可以修复它们。我对它的WTP扩展有一个或多或少严重的问题。我认为重要的是,WTP扩展没有得到官方支持,可能没有生产质量

因为Maven通过m2eclipse插件与Eclipse集成并不完美,所以我实际上不会将其用于WTP项目。我使用生成Eclipse项目文件,然后将该项目作为常规Eclipse项目导入。缺点是在对项目进行任何重大更改后,必须重新运行Eclipse项目文件

所有文档的修订控制也很好

这不是Maven,也不是任何构建管理工具。那是你的,颠覆或者其他什么

当我生成新的Java项目时,JRE版本设置为1.4。我必须手动将其重置为1.6/工作区默认值

你可以设定

也许它是不现实的,得到所有这些功能。目前,Eclipse与WTP和VCS的集成对我来说是最重要的

m2eclipse插件和好友最适合于简单的JavaMaven项目。就我个人而言,我使用Maven eclipse插件为任何web、EJB等项目生成eclipse项目

正如前面提到的,这有其缺点,但是好处,包括您提到的依赖关系管理,超过了它们

当然,配置不好的Maven项目仍然是配置不好的项目。这不是魔法

目录结构现在独立于Eclipse,但现在它依赖于maven。好的,我明白了,这两个程序在这一点上似乎都很灵活

是的,它们都是弹性的
<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-compiler-plugin</artifactId>
  <version>2.3.1</version>
  <configuration>
    <source>1.6</source>
    <target>1.6</target>
  </configuration>
</plugin>