>> 使用jetty-maven-plugin进行测试
在进行web开发的时候,我们总是无法避免打开浏览器测试,但是需要编译,测试、打包、测试、部署等一系列环节,这个很浪费时间。而jetty-maven-plugin这个插件利用内置的jetty web容器,周期轮训代码更新,省去我们打包和部署步骤,大大缩减测试时间。另外,web测试应该仅限于跟前台密切相关的测试,页面测试等。而后台的测试一定要写单元测试去测。
首先配置jetty-maven-plugin插件:
<plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <version>7.1.0.RC1</version> <configuration> <scanIntervalSeconds>10</scanIntervalSeconds> <webAppConfig> <contextPath>/account</contextPath> </webAppConfig> </configuration> </plugin>
从上面可以看出,这个插件不是官方插件,所以必须在mvn的settings.xml文件中配置一下:
<settings> <pluginGroups> <pluginGroup>org.mortbay.jetty</pluginGroup> </pluginGroups> ...... </settings>
现在可以运行如下命令启动jetty-maven-plugin了,默认是8080端口:
# mvn jetty:run
如果希望其他端口启动jetty web容器,命令:
# mvn jetty:run -Djetty.port=9999
这时候,可以在浏览器中输入: http://localhost:9999/account/ 测试应用了
>> 使用Cargo实现自动化部署:
Cargo是一组帮助用户操作Web容器的工具,它能够帮助用户实现自动化部署。支持所有的Web容器。Cargo通过cargo-maven2-plugin提供了Maven集成。虽然cargo-maven2-plugin和jetty-maven-plugin的功能看起来相似,但是它们目的是不同的。jetty-maven-plugin主要是帮助开发人员快速的启动容器开发,而cargo是帮测试人员快速部署到本地或远程的Web容器中方便集成测试和功能测试等。
—-部署到本地的Web容器—-
Cargo支持两种本地部署方式,分别是standalone和existing模式。standalone是每次构建都从web容器安装目录复制一份配置到用户指定目录中,按照这个配置区部署,而existing是用户指定Web容器的配置目录,然后Cargo会直接使用这些配置并将应用部署到其对应的位置。
使用standalone模式:
<plugin> <groupId>org.codehaus.cargo</groupId> <artifactId>cargo-maven2-plugin</artifactId> <version>1.3.1</version> <configuration> <container> <containerId>tomcat7x</containerId> <home>D:\lib\apache-tomcat-7.0.34</home> </container> <configuration> <type>standalone</type> <home>${project.build.directory}/tomcat7x</home> <properties> <cargo.servlet.port>8082</cargo.servlet.port> </properties> </configuration> </configuration> </plugin>
同理,cargo插件的groupId是org.codehaus.cargo,这个不属于官方的两个Maven插件,因此还是要修改.m2文件夹中的settings.xml:
<pluginGroups> <pluginGroup>org.mortbay.jetty</pluginGroup> <pluginGroup>org.codehaus.cargo</pluginGroup> </pluginGroups>
然后运行:mvn cargo:run,即可访问:http://127.0.0.1:8082/account-web-1.0.0-SNAPSHOT/login.jsp
——部署至远程正在运行中的Web容器中———
<plugin> <groupId>org.codehaus.cargo</groupId> <artifactId>cargo-maven2-plugin</artifactId> <version>1.3.1</version> <configuration> <container> <containerId>tomcat7x</containerId> <type>remote</type> </container> <configuration> <type>runtime</type> <properties> <cargo.remote.username>admin</cargo.remote.username> <cargo.remote.password>8082</cargo.remote.password> <cargo.tomcat.manager.url>http://10.68.14.119:8080/manager</cargo.tomcat.manager.url> </properties> </configuration> </configuration> </plugin>
之后,运行:
# mvn cargo:redeploy
即可部署热应用了,如果容器中已经部署了当前应用,cargo会将它卸载,然后重新部署。
本人博客已搬家,新地址为:http://yidao620c.github.io/
相关推荐
Maven更新问题 今天Maven在更新的时候发现一直更新不成功,总结下解决方法。 在apache-maven-3.5.2/conf/setting.xml中加入以下配置即可解决 alimaven aliyun maven ...
maven-webstart 使用 Maven 构建 Java Webstart 应用程序的模板。 此存储库包含多个示例项目,用于使用 Maven 构建 Java Webstart 应用程序。 不同的配置: 使用 JnlpDownloadServlet 使用自定义的 Jsp 作为 jnlp 而...
Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.5:clean (default-clean) on project
使用eclipse整合maven时所需要使用的配置文件;只需修改文件中的本地仓库路径即可完成整合,java初学者必选。
idea创建Maven项目时,报错显示Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.0.2:resources,并且Maven插件内看不到 mybatis-generator。如下图: 折腾了好久发现配置放错地方了,...
Maven使用tomcat8-maven-plugin插件
使用Maven创建Web应用程序项目 Maven POM Maven 构建生命周期 Maven 构建配置文件 Maven存储库 Maven插件 Maven创建Java项目 使用Maven构建和测试Java项目 Maven外部依赖 Maven项目文档 Maven项目模板 Maven快照 ...
maven Maven 是一种流行且功能强大的项目管理工具,主要用于构建、发布和管理 Java 项目。...第三部分:Maven 的优势和应用 探讨 Maven 在项目开发中的优势和受欢迎程度。解释 Maven 的模块化和标准化特点,
Maven实践-使用Maven开发Web应用 Maven实践-使用Maven开发Web应用 Maven实践-使用Maven开发Web应用
react应用是使用构建的。 该项目为构建Spring Boot React应用程序提供了高效的设置。 该应用程序分为两个Maven模块: api :包含应用程序的Java代码。 ui :包含应用程序的所有React JavaScript代码。运行完整的...
该插件旨在通过提供两种特定的打包方式: gwt-lib和gwt-app ,使使用Maven构建GWT项目更加容易。 基本用法 将插件添加到您的POM并启用扩展: < groupId>net.ltgt.gwt.maven</ groupId> < artifactId>gwt-maven-...
Maven3实战笔记04——Maven的生命周期和插件。
Maven Enforcer插件-Maven:trade_mark:的爱铁拳 Enforcer插件提供了控制某些环境约束的目标,例如Maven版本,JDK版本和OS系列以及更多内置规则和用户创建的规则。 文献资料 可以在上找到更多信息。 与Maven ...
系统变量:MAVEN_HOME = D:\Server\maven 用户变量:path = %MAVEN_HOME%\bin 相信大家都有配过环境变量的,详细步骤就不说了,对着把属性名和属性值配上的OK了。 打开 cmd,在里面敲:mvn -version
Dockerbuild Maven 插件使用 docker 容器构建 java 项目的 Maven 插件
Over 90 hands-on recipes to successfully build and automate development life cycle tasks following Maven conventions and best practices About This Book Understand the features of Apache Maven that ...
angular-maven-插件一个旨在帮助部署 angularjs 应用程序但使用 maven 作为构建工具的开发人员的插件。 到目前为止有两个目标: 模仿 grunt-html2js 将 html 模板组合成单个 javascript 文件以与 Angular.js 一起...
xtext-standalone-maven-build:Xtext独立的maven构建,不带Eclipse
Maven的安装包,解压即安装
解决tomcat8-maven-plugin-3.0-r1655215.jar阿里云同有的问题。放到路径org\apache\tomcat\maven\tomcat8-maven-plugin\3.0-r1655215\就可以了