maven常见命令
mvn clean mvn compile mvn package mvn clean compile package mvn -Djetty.port=80 jetty:run mvn -Djetty.port=8080 jetty:run mvn clean compile -Djetty.port=80 jetty:run mvn archetype:generate -DarchetypeArtifactId=maven-archetype-quickstart mvn archetype:generate -DarchetypeArtifactId=maven-archetype-webapp mvn dependency:sources mvn dependency:resolve -Dclassifier=javadoc 命令使用方法: 首先进入到相应的pom.xml目录中,然后执行以上命令: 第一个命令是尝试下载在pom.xml中依赖的文件的源代码。 第二个命令:是尝试下载对应的javadocs 但是有可能一些文件没有源代码或者javadocs
单元测试覆盖率
单元测试Cobertura
<!-- 单元测试覆盖率插件 --> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>cobertura-maven-plugin</artifactId> <version>2.7</version> <configuration> <encoding>UTF-8</encoding> <formats> <format>html</format> <format>xml</format> </formats> </configuration> </plugin>
单元测试代码编写完成,所有设置配制好后,在工程根目录运行“mvn cobertura:cobertura”Maven 就会对代码进行编译
编译完成之后,就会在项目中运行测试代码并输出测试报告结果到目录 project_base$ argetsitecoberturaindex.html
目标指令 作用解释 cobertura:check 检查最后一次标注(instrumentation) 正确与否 cobertura:clean 清理插件生产的中间及最终报告文件 cobertura:dump-datafile Cobertura 数据文件 dump 指令 , 不常用 cobertura:instrument 标注编译好的 javaclass 文件 cobertura:cobertura 标注、运行测试并产生 Cobertura 覆盖率报告
maven 插件
<pluginManagement> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <encoding>UTF-8</encoding> <source>1.7</source> <target>1.7</target> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <argLine>-Dfile.encoding=UTF-8</argLine> <!--打包时是否略过测试 --> <!--<skip>true</skip> --> <!--测试出现错误时是否忽略,如果为true,则会直接打包 --> <!--<testFailureIgnore>true</testFailureIgnore> --> </configuration> <version>2.17</version> </plugin> <!--maven jetty 插件配置 --> <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <version>8.1.16.v20140903</version> <configuration> <webApp> <contextPath>${jetty.context}</contextPath> </webApp> <connectors> <connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector"> <port>8088</port> </connector> </connectors> <stopKey>jetty</stopKey> <stopPort>10080</stopPort> </configuration> </plugin> </plugins> </pluginManagement>
tomcat 插件
<!-- tomcat6 插件--> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>tomcat-maven-plugin</artifactId> <version>1.1</version> <configuration> <path>/wp</path> <port>8080</port> <uriEncoding>UTF-8</uriEncoding> <url>http://localhost:8080/manager/html</url> <server>tomcat6</server> </configuration> </plugin> <!-- tomcat7 插件--> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.1</version> <configuration> <port>9090</port> <path>/mgr</path> <uriEncoding>UTF-8</uriEncoding> <finalName>mgr</finalName> <server>tomcat7</server> </configuration> </plugin> path 是访问应用的路径 port 是tomcat 的端口号 uriEncoding URL按UTF-8进行编码,这样就解决了中文参数乱码。 Server 指定tomcat名称。 命令 描述 tomcat:deploy 部署一个web war包 tomcat:reload 重新加载web war包 tomcat:start 启动tomcat tomcat:stop 停止 tomcat:run 启动嵌入式tomcat ,并运行当前tomcat tomcat:undeploy 停止一个war包项目