maven-war-plugin的使用

阅读更多
插件介绍
此插件能够收集web应用所有的依赖,类和资源文件,然后把它们打包归档



使用
这里有四种方式来使用
  • 在package阶段使用,同时项目打包的类型为war
  • war:war目标调用
  • war:exploded目标调用
  • war:inplace目标调用

注意:当使用war:目标时,有个前提是编译阶段已经完成,因为本身不会编译java代码和复制资源文件


在package阶段使用,同时项目打包的类型为war/war:war目标调用
这是最常用的使用方式,为了说明,下面贴出pom.xml

  ...
  com.example.projects
  documentedproject
  war
  1.0-SNAPSHOT
  Documented Project
  http://example.com
  ...



项目的结构看起来像这样
 |-- pom.xml
 `-- src
     `-- main
         |-- java
         |   `-- com
         |       `-- example
         |           `-- projects
         |               `-- SampleAction.java
         |-- resources
         |   `-- images
         |       `-- sampleimage.jpg
         `-- webapp
             |-- WEB-INF
             |   `-- web.xml
             |-- index.jsp
             `-- jsp
                 `-- websource.jsp

调用
mvn package

或者
mvn compile war:war

将会生成war在 target/documentedproject-1.0-SNAPSHOT.war,下面贴出war的内容
documentedproject-1.0-SNAPSHOT.war
  |-- META-INF
  |   |-- MANIFEST.MF
  |   `-- maven
  |       `-- com.example.projects
  |           `-- documentedproject
  |               |-- pom.properties
  |               `-- pom.xml
  |-- WEB-INF
  |   |-- classes
  |   |   |-- com
  |   |   |   `-- example
  |   |   |       `-- projects
  |   |   |           `-- SampleAction.class
  |   |   `-- images
  |   |       `-- sampleimage.jpg
  |   `-- web.xml
  |-- index.jsp
  `-- jsp
      `-- websource.jsp


war:exploded目标调用
在开发阶段为了加快测试, war:exploded可以生成已经展开(解压)的WAR,下面是调用的方式
mvn compile war:exploded

将会在 target/documentedproject-1.0-SNAPSHOT生成带版本的展开(解压)的WAR文件,.目录的内容看起来像这样。
 documentedproject-1.0-SNAPSHOT
 |-- META-INF
 |-- WEB-INF
 |   |-- classes
 |   |   |-- com
 |   |   |   `-- example
 |   |   |       `-- projects
 |   |   |           `-- SampleAction.class
 |   |   `-- images
 |   |       `-- sampleimage.jpg
 |   `-- web.xml
 |-- index.jsp
 `-- jsp
     `-- websource.jsp

展开(解压)的WAR默认目录是 target/,这个 finalName通常的形式是 -。可以修改 webappDirectory 参数来覆盖WAR默认目录

  ...
  
    
      
        org.apache.maven.plugins
        maven-war-plugin
        3.0.0
        
          /sample/servlet/container/deploy/directory
        
      
    
  
  ...



war:inplace目标调用
war:exploded的变化是 war:inplace。当用 war:inplace时,展开(解压)的WAR目录是在 webapp中,默认是 src/main/webapp。调用方式如下:
mvn compile war:inplace

结果如下所示
|-- pom.xml
 |-- src
 |   `-- main
 |       |-- java
 |       |   `-- com
 |       |       `-- example
 |       |           `-- projects
 |       |               `-- SampleAction.java
 |       |-- resources
 |       |   `-- images
 |       |       `-- sampleimage.jpg
 |       `-- webapp
 |           |-- META-INF
 |           |-- WEB-INF
 |           |   |-- classes
 |           |   |   |-- com
 |           |   |   |   `-- example
 |           |   |   |       `-- projects
 |           |   |   |           `-- SampleAction.class
 |           |   |   `-- images
 |           |   |       `-- sampleimage.jpg
 |           |   `-- web.xml
 |           |-- index.jsp
 |           `-- jsp
 |               `-- websource.jsp
 `-- target
     `-- classes
         |-- com
         |   `-- example
         |       `-- projects
         |           `-- SampleAction.class
         `-- images
             `-- sampleimage.jpg



参考链接
http://maven.apache.org/plugins/maven-war-plugin/index.html

你可能感兴趣的:(maven,java)