`
yyjlinux
  • 浏览: 370909 次
  • 来自: ...
社区版块
存档分类
最新评论

m2eclipse触发Maven生命周期

阅读更多

m2eclipse是Eclipse的Maven插件,界面上可设置修改资源文件或Update Project Configuration后,触发Maven Lifecycle,相当于为扩展工程特定的需求提供了可能。比如:修改源码或配置文件后,将编译结果复制到应用服务器的部署目录下,都可以用自动化方式来实现。

(1)Windows -> Preferences -> Maven,设置Update Project Configuratoin时触发的Maven Lifecycle

 

(2)Maven工程右键 -> Properties -> Maven -> Lifecycle Mapping,设置修改Maven工程资源文件时触发的Maven Lifecycle

 

m2eclipse插件上,默认绑定的Maven生命周期是process-resources。结合m2eclipse触发pom.xml中绑定的Maven生命周期来实现特殊的需求,如下:

当process-resource阶段时,将Maven工程类路径下的类复制到应用服务器的部署目录下。

<build>
    <plugins>
        <plugin>
	    <groupId>org.apache.maven.plugins</groupId>
	    <artifactId>maven-antrun-plugin</artifactId>
	    <version>1.7</version>
	    <executions>
	        <execution>
		     <id>dev-deploy</id>
		     <phase>process-resources</phase>
		     <goals>
		         <goal>run</goal>
		     </goals>
		     <configuration>
		         <target>
			     <copy todir="${deploy.home}/WEB-INF/classes" overwrite="true" failonerror="false">
			         <fileset dir="${project.basedir}/target/classes" />
			     </copy>
			  </target>
		     </configuration>
		  </execution>
	      </executions>
        </plugin>
    </plugins>
</build>

 

上面的原理很简单,但实现时发现当修改源码保存后,并未触发pom.xml里绑定到process-resoures生命周期的maven-antrun-plugin插件复制文件。

但执行mvn package或右键 -> Maven -> Update Project Configurate时,都可以触发maven-antrun-plugin插件复制文件。只是在Eclipse上修改源码后,并不能触发复制文件。后来发现修改src/main/resources下的资源文件,是可以触发复制文件的。

 

主要问题出在,Eclipse下的源码m2eclipse不认为是资源文件,所以修改了也不会触发process-resources复制文件。但可以让m2eclipse将源码当作是资源文件来解决,方法就是在pom.xml中将src/main/java声明为资源文件,如下:

 

<build>
    <resources>
        <resource>
	    <directory>src/main/java</directory>
	    <filtering>false</filtering>
	    <excludes>
	        <exclude>**</exclude>
	    </excludes>
	</resource>
    <resources>
</build>
做完以上resource声明,就可以实现Eclipsed中修改完源码后m2eclipse触发自动复制文件了,这是个小技巧,但不知道时真让人抓狂酷

 

 

分享到:
评论
1 楼 zxjlwt 2015-09-06  
学习了。

http://surenpi.com

相关推荐

    m2eclipse插件_使用maven必备

    同时,通过"Maven" -&gt; "Build..."可以自定义构建目标,如执行clean、install等生命周期阶段。 4. **依赖管理** m2eclipse提供了一个直观的依赖图,帮助开发者查看和管理项目中的依赖关系。在项目浏览器中右键单击...

    maven-3.0.5安装包&eclipse-maven插件

    2. **构建生命周期**:Maven定义了标准的构建生命周期,包括清理、编译、测试、打包、集成测试、验证、安装和部署等阶段,用户可以根据需要执行特定的构建目标。 3. **插件系统**:Maven通过插件执行具体的构建任务...

    m2eclipse插件

    4. **构建生命周期**:提供了Maven的构建生命周期,如编译、测试、打包、部署等,可以在Eclipse内部直接触发。 5. **编辑POM.xml**:提供了图形化的POM编辑器,方便修改项目配置。 6. **聚合项目**:支持Maven的多...

    maven eclipse插件

    2. **构建生命周期集成**:在Eclipse内部,你可以触发Maven的生命周期阶段,如`clean`、`compile`、`test`、`install`和`deploy`,这使得开发流程更为流畅。 3. **依赖管理**:m2eclipse自动处理Maven依赖,确保...

    m2eclipse1.6.2

    2. **构建生命周期**:m2eclipse将Maven的构建生命周期集成到Eclipse的工作流中,允许用户在IDE内部执行诸如编译、测试、打包和部署等操作。 3. **项目结构**:它会根据Maven的标准目录结构自动创建Eclipse项目,如...

    maven与eclipse集成所需插件

    6. **构建和运行**: 右键点击项目,选择“Run As” &gt; “Maven Build”,可以指定Maven的目标(如install或clean),Eclipse会执行对应的Maven生命周期阶段。 **四、Eclipse-Maven插件的高级特性** - **自动编译和...

    m2eclipse-egit:Maven SCM用EGit交易

    在实际使用中,`m2eclipse-egit-master`可能是一个包含M2Eclipse EGit源代码的项目,开发者可以通过研究这个项目了解其内部实现,包括如何与Maven生命周期集成、如何调用EGit API进行版本控制操作等。 总之,M2...

    eclipse集成mave插件包

    5. **生命周期与构建生命周期绑定**:Eclipse集成了Maven的生命周期,如编译(compile)、测试(test)、打包(package)和安装(install),可以在Eclipse内触发这些阶段。 6. **更新项目配置**:当POM发生变化时...

    eclipse m2e 插件下载

    3. **构建生命周期**:插件支持Maven的完整构建生命周期,如清理、编译、测试、打包、验证等,用户可以直接在Eclipse中触发这些生命周期阶段。 4. **编辑POM.xml**:Eclipse M2E提供了POM编辑器,帮助用户更方便地...

    maven 环境搭建

    通过一系列生命周期和插件,Maven 能够自动完成项目的编译、测试、打包、部署等一系列任务。 #### 二、下载Maven 首先,我们需要从官方网站下载 Maven 的安装包。根据提供的描述中的下载地址...

    Maven+JIRA环境安装与Eclipse 集成代码质量监控环境搭建

    Maven的主要优势在于其标准化的构建生命周期和依赖管理机制,这使得开发者可以更加专注于业务逻辑而非构建过程。 **Maven下载和运行** Maven可以从官方网站下载最新的稳定版本。通常下载的是一个压缩包,将其解压...

    Maven实战Maven教程

    - **m2eclipse**:作为Maven的Eclipse插件,m2eclipse将Maven的功能集成到了Eclipse IDE中,提供了Maven项目的无缝管理。 #### 总结 《Maven实战》不仅是Maven的使用手册,更是Java开发者的必备指南。通过本书,...

    项目管理Maven实战

    Maven通过定义一系列的生命周期来管理项目的构建过程,每个生命周期由多个阶段组成。Maven插件则是一系列的任务集合,用于执行特定的构建步骤。 **3.4 聚合与继承** 聚合允许在一个顶级项目中管理多个子模块,从而...

    Maven实战PDF

    Maven生命周期定义了一系列阶段,每个阶段对应着不同的任务,如clean、compile、test等。Maven插件则是一组实现特定任务的工具,例如用来编译Java源代码的maven-compiler-plugin。 **3.4 聚合与继承** Maven支持...

    Maven权威指南 很精典的学习教程,比ANT更好用

    Maven生命周期 (Lifecycle) 3.5.3. Maven坐标 (Coordinates) 3.5.4. Maven仓库(Repositories) 3.5.5. Maven依赖管理 (Dependency Management) 3.5.6. 站点生成和报告 (Site Generation and Reporting) 3.6. ...

    Eclispe、Maven、nexus、Jenkins安装手册、操作指南

    它内置了一系列默认的构建生命周期和依赖管理系统,使得项目构建过程更加标准化和自动化。例如,开发者不再需要手动编写复杂的构建脚本来完成代码编译、打包或部署等任务,而只需通过简单的命令即可完成这些操作。 ...

    持续集成环境maven+nexus+jenkins+svn搭建

    Maven是一个项目管理和综合工具,它管理项目依赖关系,构建生命周期,以及项目信息。以下为安装步骤: 1.1 下载 Maven:访问Apache Maven官方网站下载最新版本的Maven,根据操作系统选择对应的二进制包。 1.2 安装...

    m2e1.8.3.zip

    3. **构建生命周期集成**:可以在Eclipse内部执行Maven的生命周期命令,如clean、compile、test、install和deploy等。 4. **源码导航**:如果库的源码可用,m2e会自动链接到源码,便于调试和学习。 5. **错误和...

Global site tag (gtag.js) - Google Analytics