- 浏览: 558271 次
- 性别:
文章分类
- 全部博客 (337)
- WEB前端@HTML (4)
- WEB前端@CSS (5)
- WEB前端@javascript (31)
- WEB前端@DHTML (8)
- WEB前端@jQuery (3)
- WEB前端@Flex4 (19)
- WEB前端@BootStrap3 (21)
- 数据交换@JSON (1)
- 模板标签@JSTL (1)
- 模板标签@Thymeleaf (1)
- 模板标签@XSL-FO (3)
- WEB后台@JavaSE (75)
- WEB后台@JAX-WS (27)
- WEB后台@HttpClient (0)
- WEB后台@SSO (2)
- 框架@Spring3 (3)
- 框架@spring_MVC (8)
- 框架@Hibernate (26)
- 框架@play framework (18)
- 框架@sl4j (4)
- 数据库@ (2)
- 数据库@JDBC (0)
- 服务器@Linux (14)
- 服务器@Tomcat (2)
- 第三方jar@dom4j (1)
- 第三方jar@POI (2)
- 第三方jar@CXF (5)
- 项目管理@Maven (22)
- 项目管理@SVN (1)
- 缓存管理@ehcache (1)
- 系统设计@设计模式 (10)
- 单元测试@JunitTest (1)
- 开发工具 (3)
- BUG收录 (1)
- 学习之路 (6)
- 面试之道 (1)
- 我的项目 (2)
最新评论
-
superich2008:
logback配置文件的改动会导致应用重新加载,多改动几次后就 ...
Chapter 3: Logback configuration -
chenzhihui:
不是可以在log4j中配置以控制台或者文件方式保存日志的?
play记录日志 -
smilease:
很棒,正缺这个,非常感谢
bootstrap3-typeahead 自动补全 -
guangling13345:
[size=x-small][/size]
二级联动菜单 -
jacksondesign:
有,和YAML的格式有关,不知道有没有什么好的YAML格式的验 ...
(四)play之yabe项目【页面】
生命周期
- Clean Lifecycle 在进行真正的构建之前进行一些清理工作。
- Default Lifecycle 构建的核心部分,编译,测试,打包,部署等等。
- Site Lifecycle 生成项目报告,站点,发布站点。
Clean生命周期:
- pre-clean 执行一些需要在clean之前完成的工作
- clean 移除所有上一次构建生成的文件
- post-clean 执行一些需要在clean之后立刻完成的工作
mvn clean中的clean就是上面的clean,在一个生命周期中,运行某个阶段的时候,它之前的所有阶段都会被运行,也就是说,mvn clean等同于 mvn pre-clean clean,如果我们运行 mvn post-clean,那么 pre-clean,clean 都会被运行。这是Maven很重要的一个规则,可以大大简化命令行的输入。
Site生命周期:
- pre-site 执行一些需要在生成站点文档之前完成的工作
- site 生成项目的站点文档
- post-site 执行一些需要在生成站点文档之后完成的工作,并且为部署做准备
- site-deploy 将生成的站点文档部署到特定的服务器上
经常用到的是site阶段和site-deploy阶段,用以生成和发布Maven站点,这可是Maven相当强大的功能,Manager比较喜欢,文档及统计数据自动生成。
Default生命周期,最重要的,绝大部分工作都发生在这个生命周期中,重要和常用的阶段:
- validate
- generate-sources
- process-sources
- generate-resources
- process-resources 复制并处理资源文件,至目标目录,准备打包。
- compile 编译项目的源代码。
- process-classes
- generate-test-sources
- process-test-sources
- generate-test-resources
- process-test-resources 复制并处理资源文件,至目标测试目录。
- test-compile 编译测试源代码。
- process-test-classes
- test 使用合适的单元测试框架运行测试。这些测试代码不会被打包或部署。
- prepare-package
- package 接受编译好的代码,打包成可发布的格式,如 JAR 。
- pre-integration-test
- integration-test
- post-integration-test
- verify
- install 将包安装至本地仓库,以让其它项目依赖。
- deploy 将最终的包复制到远程的仓库,以让其它开发人员与项目共享。
记住,运行任何一个阶段的时候,它前面的所有阶段都会被运行,这也就是为什么我们运行mvn install的时候,代码会被编译,测试,打包。
此外,Maven的插件机制是完全依赖Maven的生命周期的。
==================================================================
插件的使用
下载插件:http://maven.apache.org/plugins/index.html
插件命令:source:jar-no-fork
作用:生成项目的源码jar包,只包含源代码,便于携带拷贝学习。
如,下面的配置,将对每个模块,单独生成一个src源码jar包。
在pom中对插件进行配置,如果在parent模块中进行插件的配置,子模块将继承该插件的所有配置
当前,子模块也可以自己定义插件覆盖parent中的配置。
<project> ... <!-- 插件 --> <build> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <version>2.2.1</version> <executions> <execution> <!-- 指定在package阶段后执行该插件 --> <phase>package</phase> <!-- 指定执行该插件的jar-no-fork目标 --> <goals> <goal>jar-no-fork</goal> </goals> </execution> </executions> </plugin> </plugins> </pluginManagement> </build> ... </project>
子模块中引用插件
<project> ... <!-- 插件 --> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <!-- 该插件的其它配置将从parent中继承下来 --> </plugin> </plugins> </build> ... </project>
插件命令:war:war
作用:打war包时可能会用到
<!-- war包的插件 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.4</version> <configuration> <!-- 指定生成的war包的名称,该名称不会影响发布的项目的访问路径 --> <warName>user</warName> </configuration> </plugin>
插件命令:rar:rar
作用:打包为rar格式的包
不管includeJar为true或false,生成的rar包中的内容都一样,是哪儿没用对?
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-rar-plugin</artifactId> <version>2.3</version> <!--configuration标签用来配置插件的一些属性参数 --> <configuration> <!-- 是否包含本模块生成的jar包,这里设置true和false没区别,都把jar包塞rar包里了,很郁闷!!! --> <includeJar>false</includeJar> </configuration> <executions> <execution> <phase>package</phase> <goals><goal>rar</goal></goals> </execution> </executions> </plugin>
Rapid Testing Using the Jetty Plugin
Normally, testing a web application involves compiling Java sources, creating a WAR and deploying it to a web container.
Using the Jetty Plugin enables you to quickly test your web application by skipping the last two steps. By default the Jetty Plugin scans target/classes for any changes in your Java sources and src/main/webapp for changes to your web sources. The Jetty Plugin will automatically reload the modified classes and web sources.
To use the Jetty Plugin just add the following in your pom.xml:
<!-- jetty插件 --> <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <version>7.1.6.v20100715</version> <configuration> <!-- 扫描周期 --> <scanIntervalSeconds>3</scanIntervalSeconds> <!-- 指定项目发布的上下文 --> <webAppConfig> <contextPath>/test</contextPath> </webAppConfig> <connectors> <connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector"> <!-- 指定服务监听的端口 --> <port>80</port> <maxIdleTime>60000</maxIdleTime> </connector> </connectors> </configuration> </plugin>
访问jetty发布的服务,80端口可以省略,项目根路径指定为了test,所以:
http://localhost:80/user-web/ ---> http://localhost/test/
发表评论
-
解决Maven下载dependency慢的问题
2013-12-29 22:37 4075使用NEXUS作为私服,如果下载jar或者插件很慢,甚 ... -
手动发布一个jar包到私服
2013-11-08 11:39 1256安装到本地库:mvn install:install-f ... -
Jetty插件
2013-10-09 11:02 0Jetty插件在Maven中的配置 <plu ... -
Maven上传构建到私服(NEW)
2013-10-04 17:28 2044为私服添加上传构建的账户 添加用户上传构建到NEXUS私服的 ... -
Maven使用过程中遇到的问题(NEW)
2013-10-04 10:54 754Project configuration is not u ... -
Maven的属性(NEW)
2013-10-04 09:13 506maven的属性 env.X: 操作系统环境变量,比 ... -
Maven的聚合、继承(NEW)
2013-10-03 12:44 2121模块的聚合 聚合的好处: 统一对各个模块的编译 ... -
Maven的本地仓库、中心仓库、私服(NEW)
2013-10-02 17:30 16532本地仓库 设置本地仓库到指定目录,而不使用Maven默认的 ... -
Maven的依赖-硬依赖,传递依赖,依赖排除(NEW)
2013-10-02 17:30 14723依赖的查询 http://mvnrepository.co ... -
创建Maven项目(NEW)
2013-10-02 17:24 616第一种,在CMD命令行创建Maven项目 CMD命令行中 ... -
Maven的安装、项目结构、POM文件解读(NEW)
2013-10-02 15:04 1643第一步,下载Maven http://maven.apa ... -
使用JAX-WS的maven插件发布webservice
2013-08-11 21:26 20151.引入插件过程中,提示miss jar的问题,换中心仓库 ... -
发布项目到jetty/tomcat
2013-08-11 12:35 2315将maven管理的web模块发布到jetty服务器中 st ... -
(九)maven发布WEB项目
2013-07-14 19:28 10501.编写POM <project xmlns=& ... -
(八)maven的插件使用
2013-07-14 14:18 7731.超级POM中配置插件 <!-- 插件 -- ... -
(七)maven仓库-分仓库管理项目
2013-07-14 10:01 942新建仓库---分仓库管理项目 使用nexus管理多个项目的时候 ... -
(六)maven项目发布
2013-07-14 09:04 4771.配置项目发布到仓库的位置(配置SNAPSHOT和relea ... -
(五)Nexus 私服
2013-07-13 16:05 12941.下载nexus,配置环境变 ... -
(四)maven的聚合和继承
2013-07-13 13:17 7801.聚合 在一个POM文件中完成所有模块的编译,打包工作, ... -
(三)maven依赖包
2013-07-13 10:50 11041.eclipse中创建maven项目 打开POM.xml , ...
相关推荐
你可以创建新的Maven项目,使用Eclipse的构建生命周期进行编译、测试、打包等操作,同时通过`pom.xml`文件管理项目依赖。Maven的强大在于它的依赖管理和构建自动化,它能够根据`pom.xml`自动下载所需库,构建项目,...
Maven是Java开发中的一款强大的构建工具,它管理项目依赖、构建生命周期和工件发布。这里我们关注的是Maven 3.1和3.2版本的安装包和源码,以及如何将Maven与Eclipse集成的插件。下面将详细介绍这些内容。 1. Maven ...
在IT行业中,Maven是一个非常重要的构建工具,主要用于管理Java项目...使用M2Eclipse,你可以享受到Maven带来的便捷,例如自动下载依赖、构建生命周期的可视化、以及对POM.xml文件的智能感知等功能,大大提高开发效率。
2. **构建生命周期**:Maven定义了一套标准的构建生命周期,包括编译、测试、打包、验证、部署等阶段,开发者可以通过简单的命令执行这些阶段。 3. **插件系统**:Maven拥有丰富的插件库,可以扩展Maven的功能,如...
在Eclipse中集成Maven插件可以方便地进行项目的构建、依赖管理和生命周期操作。 首先,让我们了解一下Maven的基本概念。Maven使用一种基于XML的配置文件(pom.xml)来定义项目构建和依赖关系。POM(Project Object ...
【标题】"maven eclipse ...你可以创建新的Maven项目,管理依赖,执行构建操作,以及利用Maven的各种生命周期阶段和插件功能,提高你的开发效率。记住,定期更新Maven插件以获取最新的功能和修复,即使是在离线环境下。
Maven通过一个项目对象模型(Project Object Model,POM),依赖管理和标准化的构建生命周期来简化项目构建、报告和文档的生成。通过在POM中定义项目依赖,Maven可以自动下载所需的库,并构建项目。 2. MyEclipse...
3. **构建和清理**:通过右键点击项目,选择“Run As” -> “Maven Build”,可以执行Maven的各种生命周期目标,如编译(compile)、测试(test)、打包(package)、安装(install)和部署(deploy)。同时,也可以...
6. **构建与调试**:在Eclipse中,Maven插件会自动管理项目的生命周期和构建过程。你可以右键点击项目,选择“Run As” -> “Maven Build”来执行特定的Maven目标,如`install`或`clean`。同时,Eclipse还提供了调试...
在开发过程中,你可能需要添加或删除依赖,或者执行Maven的生命周期目标,如"compile"、"install"或"clean"。M2Eclipse提供了直观的图形界面,可以直接在项目上右键选择"Maven" -> "Run As" -> "Maven Build..."来...
- 在项目右键菜单中,有"Maven"选项,提供了对Maven生命周期的全部操作,如clean、compile、test、install和deploy等。 - 用户还可以自定义构建配置,通过Run Configurations对话框创建Maven构建运行配置。 4. **...
Eclipse的Maven插件会自动解析POM文件,并在项目中提供相关功能,如代码补全、构建生命周期管理等。 9. **使用Maven命令**:在Eclipse的Package Explorer视图中,右键点击Maven项目,选择“Run As” -> “Maven ...
总结来说,将Maven集成到MyEclipse中,主要依赖于m2eclipse插件,通过它,开发者能够在MyEclipse的友好环境中享受到Maven的强大功能,如自动管理依赖、构建生命周期等,极大地提高了开发效率。对于初学者,理解Maven...
此外,m2e还能帮助我们自动下载项目依赖、管理POM.xml配置文件,以及提供与Maven生命周期的无缝集成。 描述中提到的"m2Subclipse"可能是指"m2e Subclipse",这是一个扩展插件,它结合了m2e和Subclipse,后者是...
Maven是一个强大的项目管理和构建工具,广泛用于Java应用的开发,它通过管理项目的依赖关系、构建流程以及生命周期,帮助开发者高效地构建和维护项目。 离线安装Eclipse Maven插件的过程主要包括以下步骤: 1. **...
3. **构建与调试**:使用Maven插件,可以执行如`clean`, `install`, `compile`, `test`等Maven生命周期命令,Eclipse会显示构建进度和结果。同时,也可以直接运行单元测试,进行调试。 4. **依赖管理**:Maven自动...
- 管理生命周期:通过Eclipse的构建菜单,可以触发Maven的生命周期阶段,如清理、打包、安装和部署。 - 集成POM编辑器:提供POM.xml文件的智能感知和错误检查。 - 缓存同步:Eclipse会与Maven的本地仓库保持同步,...
Maven是Java开发中的一款强大的构建工具,它简化了项目的构建、依赖管理和生命周期过程。Eclipse作为流行的Java集成开发环境(IDE),与Maven的结合使得开发者可以在Eclipse中方便地进行Maven项目管理。本文将详细...
- **构建生命周期**:Maven 提供了一套预定义的生命周期,包括清理、编译、测试、打包、集成测试、验证、部署等阶段。 - **插件系统**:Maven 使用插件来执行特定的任务,如编译、测试、打包、部署等,用户可以...