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触发自动复制文件了,这是个小技巧,但不知道时真让人抓狂
相关推荐
同时,通过"Maven" -> "Build..."可以自定义构建目标,如执行clean、install等生命周期阶段。 4. **依赖管理** m2eclipse提供了一个直观的依赖图,帮助开发者查看和管理项目中的依赖关系。在项目浏览器中右键单击...
2. **构建生命周期**:Maven定义了标准的构建生命周期,包括清理、编译、测试、打包、集成测试、验证、安装和部署等阶段,用户可以根据需要执行特定的构建目标。 3. **插件系统**:Maven通过插件执行具体的构建任务...
4. **构建生命周期**:提供了Maven的构建生命周期,如编译、测试、打包、部署等,可以在Eclipse内部直接触发。 5. **编辑POM.xml**:提供了图形化的POM编辑器,方便修改项目配置。 6. **聚合项目**:支持Maven的多...
2. **构建生命周期集成**:在Eclipse内部,你可以触发Maven的生命周期阶段,如`clean`、`compile`、`test`、`install`和`deploy`,这使得开发流程更为流畅。 3. **依赖管理**:m2eclipse自动处理Maven依赖,确保...
2. **构建生命周期**:m2eclipse将Maven的构建生命周期集成到Eclipse的工作流中,允许用户在IDE内部执行诸如编译、测试、打包和部署等操作。 3. **项目结构**:它会根据Maven的标准目录结构自动创建Eclipse项目,如...
6. **构建和运行**: 右键点击项目,选择“Run As” > “Maven Build”,可以指定Maven的目标(如install或clean),Eclipse会执行对应的Maven生命周期阶段。 **四、Eclipse-Maven插件的高级特性** - **自动编译和...
在实际使用中,`m2eclipse-egit-master`可能是一个包含M2Eclipse EGit源代码的项目,开发者可以通过研究这个项目了解其内部实现,包括如何与Maven生命周期集成、如何调用EGit API进行版本控制操作等。 总之,M2...
5. **生命周期与构建生命周期绑定**:Eclipse集成了Maven的生命周期,如编译(compile)、测试(test)、打包(package)和安装(install),可以在Eclipse内触发这些阶段。 6. **更新项目配置**:当POM发生变化时...
3. **构建生命周期**:插件支持Maven的完整构建生命周期,如清理、编译、测试、打包、验证等,用户可以直接在Eclipse中触发这些生命周期阶段。 4. **编辑POM.xml**:Eclipse M2E提供了POM编辑器,帮助用户更方便地...
通过一系列生命周期和插件,Maven 能够自动完成项目的编译、测试、打包、部署等一系列任务。 #### 二、下载Maven 首先,我们需要从官方网站下载 Maven 的安装包。根据提供的描述中的下载地址...
Maven的主要优势在于其标准化的构建生命周期和依赖管理机制,这使得开发者可以更加专注于业务逻辑而非构建过程。 **Maven下载和运行** Maven可以从官方网站下载最新的稳定版本。通常下载的是一个压缩包,将其解压...
- **m2eclipse**:作为Maven的Eclipse插件,m2eclipse将Maven的功能集成到了Eclipse IDE中,提供了Maven项目的无缝管理。 #### 总结 《Maven实战》不仅是Maven的使用手册,更是Java开发者的必备指南。通过本书,...
Maven通过定义一系列的生命周期来管理项目的构建过程,每个生命周期由多个阶段组成。Maven插件则是一系列的任务集合,用于执行特定的构建步骤。 **3.4 聚合与继承** 聚合允许在一个顶级项目中管理多个子模块,从而...
Maven生命周期定义了一系列阶段,每个阶段对应着不同的任务,如clean、compile、test等。Maven插件则是一组实现特定任务的工具,例如用来编译Java源代码的maven-compiler-plugin。 **3.4 聚合与继承** Maven支持...
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. ...
它内置了一系列默认的构建生命周期和依赖管理系统,使得项目构建过程更加标准化和自动化。例如,开发者不再需要手动编写复杂的构建脚本来完成代码编译、打包或部署等任务,而只需通过简单的命令即可完成这些操作。 ...
Maven是一个项目管理和综合工具,它管理项目依赖关系,构建生命周期,以及项目信息。以下为安装步骤: 1.1 下载 Maven:访问Apache Maven官方网站下载最新版本的Maven,根据操作系统选择对应的二进制包。 1.2 安装...
3. **构建生命周期集成**:可以在Eclipse内部执行Maven的生命周期命令,如clean、compile、test、install和deploy等。 4. **源码导航**:如果库的源码可用,m2e会自动链接到源码,便于调试和学习。 5. **错误和...