2012-07-30 43 views
4

我一直在寻找一段时间,找不到在Eclipse中逐步构建Maven的明确方法。Eclipse中的Maven:增量构建

当前Maven每次进行更改时都会生成一个.war文件,在常规构建过程中需要一些时间进行编译。

什么是最简单的方法来加快速度,只是跨增量变化复制到目录,而不是?


我的pom.xml文件:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.mkyong.common</groupId> 
    <artifactId>SpringMVC</artifactId> 
    <packaging>war</packaging> 
    <version>1.0-SNAPSHOT</version> 
    <name>SpringMVC Maven Webapp</name> 
    <url>http://maven.apache.org</url> 

    <properties> 
     <spring.version>3.1.2.RELEASE</spring.version> 
    </properties> 

    <dependencies> 

     <!-- Spring 3 dependencies --> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-core</artifactId> 
      <version>${spring.version}</version> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-web</artifactId> 
      <version>${spring.version}</version> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-webmvc</artifactId> 
      <version>${spring.version}</version> 
     </dependency> 

     <!-- JSON --> 
     <dependency> 
      <groupId>org.codehaus.jackson</groupId> 
      <artifactId>jackson-mapper-asl</artifactId> 
      <version>1.9.8</version> 
     </dependency> 

     <dependency> 
      <groupId>org.codehaus.jackson</groupId> 
      <artifactId>jackson-core-asl</artifactId> 
      <version>1.9.8</version> 
     </dependency> 

     <!-- DHTMLX --> 
     <dependency> 
      <groupId>com.mylaensys.dhtmlx.adapter</groupId> 
      <artifactId>mylaensys-dhtmlx-adapter</artifactId> 
      <version>1.1</version> 
     </dependency> 

    </dependencies> 

    <build> 
     <finalName>SpringMVC</finalName> 
     <plugins> 
      <plugin> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <configuration> 
        <source>1.6</source> 
        <target>1.6</target> 
       </configuration> 
      </plugin> 

      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-war-plugin</artifactId> 
       <version>2.0.2</version> 
       <!-- <version>2.1-beta-1</version> --> 

       <configuration> 
        <overlay> 
         <excludes> 
          META-INF/**,scripts/menu.js,WEB-INF/*.txt,WEB-INF/jboss-web.xml,WEB-INF/web.xml 
         </excludes> 
        </overlay> 

        <archiveClasses>true</archiveClasses> 
        <warSourceDirectory> 
         src/main/webapp 
        </warSourceDirectory> 
        <warSourceExcludes> 
         WEB-INF/*.tld,WEB-INF/classes/** 
        </warSourceExcludes> 
        <outputDirectory> 
         ${env.WAR_PATH} 
        </outputDirectory> 

        <archive> 
         <manifest> 
          <addClasspath>false</addClasspath> 
          <classpathPrefix>lib/</classpathPrefix> 
         </manifest> 
         <addMavenDescriptor>true</addMavenDescriptor> 
        </archive> 

       </configuration> 
      </plugin> 
     </plugins> 
    </build> 

</project> 
+0

Maven可以在Eclipse的外部增量*构建吗? – nitind 2012-07-30 02:51:23

+0

它通常取决于您使用的编译器插件的版本。 – khmarbaise 2012-07-30 11:49:48

回答

0

通过默认的Maven应该构建Eclipse编译期间的战争。你能分享你的pom.xml吗?

+0

请看我的更新 – 2012-07-30 13:12:33

+0

@AramKocharyan你使用的是什么版本的Maven插件?你可以分享你的“生命周期映射”页面吗? (项目 - >属性 - > Maven - >生命周期映射)? – 2012-08-13 13:05:09

0

使用系统的行家(不偏食的内部行家)我的方式:

  1. 右键点击项目 - >首选项 - >建设者
  2. 新建... - >程序
  3. 设置C:\Program Files\apache-maven-3.3.9\bin\mvn.cmd(您的目录可能会有所不同)至位置
  4. 设置您在有你的pom.xml文件夹“工作目录:”
  5. 设置war:war参数:
  6. 切换到面板“构建选项”并选中“在自动构建期间”。

现在,如果您曾经更改过文件(并保存),则会执行mvn war:war