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

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可以从官方网站下载最新的稳定版本。通常下载的是一个压缩包,将其解压...

    24小时Maven快速入门快速学习教程

    ### Maven生命周期 Maven的生命周期是其核心组成部分,主要包括三个阶段:`clean`、`default`(或`compile`)、`site`。`clean`阶段用于清理项目,`default`阶段负责编译、测试、打包、验证和部署,而`site`阶段则...

    maven的配置和使用

    Maven生命周期** Maven的生命周期是一系列必须按照顺序执行的目标集合。每个生命周期包含一系列阶段,例如`validate`、`compile`、`test`等。这些阶段可以由Maven命令触发。 **4. 跳过测试** 在执行Maven命令时...

    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. **错误和...

    maven2学习手册

    Maven2的生命周期包括一系列阶段,如`compile`、`test`、`package`、`install`等。这些阶段按顺序执行,构建过程中的任何一步都可以通过Maven命令手动触发或通过自动化工具自动执行。 - `mvn compile`:编译Java源...

    Maven blank project

    Maven 有三个主要的生命周期:`clean`、`default` 和 `site`。其中,`default` 生命周期是最常用的,包括 `validate`、`compile`、`test`、`package`、`install` 和 `deploy` 这些阶段。开发者可以通过执行不同的...

    Maven项目打包成可执行Jar文件步骤解析

    这个命令会触发Maven的生命周期,执行到package阶段,最终生成包含所有依赖的可执行Jar文件。生成的文件通常位于target目录下。 4. 运行打包好的Jar文件。有两种方式可以运行打包好的Jar文件: - 在命令行中,...

Global site tag (gtag.js) - Google Analytics