`
liu_hliang
  • 浏览: 197590 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

《Maven权威指南》读书笔记(2)

阅读更多
8. 忽略测试失败
mvn test -Dmaven.test.failure.ignore=true
9. 跳过单元测试
mvn install -Dmaven.test.skip=true

10. assembly插件
    Maven Assembly 插件是一个用来创建你应用程序特有分发包的插件。 可以使用 Maven Assembly 插件以你希望的任何形式来装配输出,只需定义一个自定义的装配描述符。要配置 Maven Assembly 插件, 我们需要在 pom.xml 中的 build 配置中添加如下的 plugin 配置(这里使用预定义的 jar-with-dependencies 格式):
<project>
    <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
          </descriptorRefs>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>
    添加好这些配置以后,你可以通过运行 mvn assembly:assembly 来构建。

11. 创建一个webapp工程
mvn archetype:create -DgroupId=org.sonatype.mavenbook.ch05 -DartifactId=simple-webapp -DpackageName=org.sonatype.mavenbook -DarchetypeArtifactId=maven-archetype-webapp

12. 指定编译时的JDK版本号
<build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>1.5</source>
          <target>1.5</target>
        </configuration>
      </plugin>
    </plugins>
  </build>

13. jetty插件
    在将一个web应用编译、测试并且打包好后,一般要将它部署到一个 servlet 容器中。通常情况下,需要下载 Jetty 或者 Apache Tomcat,解压分发包,复制应用程序 WAR 文件至 webapps/ 目录,然后启动容器。现在可以使用 Maven Jetty 插件来做这些工作。为此,需要在项目的 pom.xml 中配置 Maven Jetty 插件:
<project>
  <build>
    <finalName>simple-webapp</finalName>
    <plugins>
      <plugin>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>maven-jetty-plugin</artifactId>
      </plugin>
    </plugins>
  </build>
</project>
    在项目的 pom.xml中 配置好 Maven Jetty 插件之后,就可以调用 Jetty 插件的 Run 目标在 Jetty Servlet 容器中启动你的 web 应用:
 mvn jetty:run
    当 Maven 启动了 Jetty Servlet 容器之后,在浏览器中载入 URL http://localhost:8080/simple-webapp/ 。
    要想获得jetty插件的详细信息,必需使用如下命令:
mvn help:describe -Dplugin=org.mortbay.jetty:maven-jetty-plugin

    把plugin只设置为jetty是不行的:
mvn help:describe -Dplugin=jetty

14. tomcat插件
<project>
  <build>
    <finalName>simple-webapp</finalName>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>maven-jetty-plugin</artifactId> 
         <configuration>
            <url>http://localhost:8080/manager/html</url>
            <username>admin</username>
            <password>admin</password> 
     	</configuration>
         <executions>
             <execution>
             	<id>tomcat-deploy</id>
             	<phase>deploy</phase>
             	<goals>
                       <goal>deploy</goal>
             	</goals>
             </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>
    tomcat-maven-plugin通过tomcat的manager控制台来deploy或undeploy应用,所以要把tomcat的相关信息配置上,包括manager url,用户名及密码等!
运行以下命令:
mvn tomcat:deploy
    注意:必须先要手动把tomcat启动起来,否则会报如下异常信息:
[INFO] Cannot invoke Tomcat manager
Embedded error: Connection refused: connect

15. 子模块之间的依赖顺序
    当Maven执行一个带有子模块的项目的时候,Maven首先载入父POM,然后定位所有的子模块POM。Maven然后将所有这些项目的POM放入到一个称为Maven 反应堆(Reactor)的东西中,由它负责分析模块之间的依赖关系。这个反应堆处理组件的排序,以确保相互独立的模块能以适当的顺序被编译和安装。
0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics