一、maven部署webapp应用
a.本地部署
Cargo分为standalone和existing模式
standalone模式:会从Web容器目录复制一份配置到用户指定的目录,然后在此基础上部署应用,每次重新构建,这个目录会被清空,所有配置重新生成
existing:用户需要指定现有的Web容器配置目录, 然后Cargo会直接使用这些配置并将应用部署到对应的位置。
1.配置pom.xml
<build>
<finalName>webapp</finalName>
<plugins>
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<version>1.1.3</version>
<configuration>
<container>
<containerId>tomcat6x</containerId>
<home>D:\apache-tomcat-6</home>
</container>
<configuration>
<type>existing</type>
<home>D:\apache-tomcat-6</home>
<!--
<type>standalone</type>
<home>${project.build.directory}/tomcat6x</home>
-->
<properties>
<cargo.servlet.port>8001</cargo.servlet.port>
</properties>
</configuration>
</configuration>
</plugin>
</plugins>
</build>
2.执行 mvn cargo:start
b.远程部署
1.配置pom.xml
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<version>1.1.3</version>
<configuration>
<container>
<containerId>tomcat6x</containerId>
<type>remote</type>
</container>
<configuration>
<type>runtime</type>
<properties>
<cargo.remote.username>tomcat</cargo.remote.username>
<cargo.remote.password>tomcat</cargo.remote.password>
<cargo.remote.manager.url>http://localhost:8080/goods</cargo.remote.manager.url>
</properties>
</configuration>
</configuration>
</plugin>
2. 执行mvn cargo:redeploy
二、生成带main函数的可执行jar
1.配置pom.xml
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>1.2.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>org.sky.ssh1.alpha.alpha_mvn.Hello</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
2.执行 mvn clean install
三、常用命令介绍
mvn clean compile 编译
mvn clean test 运行测试
mvn clean package 打包
mvn clean install 安装