1. 程式人生 > >【maven】如何構建一個可執行的 war

【maven】如何構建一個可執行的 war

介紹一下"專案獨立執行與釋出",這裡提供兩種方案
  1. runnable war

    • add below to ++pom.xml++
<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.1</version>
    <executions>
        <execution>
        <id
>
tomcat-run</id> <goals> <goal>exec-war-only</goal> </goals> <phase>package</phase> <configuration> <path>/</path> <!-- optional only if you want to use a preconfigured server.xml file -->
<!-- <serverXml>src/main/tomcatconf/server.xml</serverXml> --> <!-- optional values which can be configurable --> <attachArtifactClassifier>default value is exec-war but you can customize</attachArtifactClassifier
>
<attachArtifactClassifierType>default value is jar</attachArtifactClassifierType> </configuration> </execution> </executions> </plugin>
  • run the following command:
mvn clean package -Prunnable-war
  1. 使用maven外掛對java工程進行打包

    • package jar with dependencies
<plugin>
    <artifactId>maven-assembly-plugin</artifactId>
    <configuration>
        <appendAssemblyId>false</appendAssemblyId>
        <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
        </descriptorRefs>
        <archive>
            <manifest>
                <mainClass>com.chenzhou.examples.Main</mainClass>
            </manifest>
        </archive>
    </configuration>
    <executions>
        <execution>
            <id>make-assembly</id>
            <phase>package</phase>
            <goals>
                <goal>assembly</goal>
            </goals>
        </execution>
    </executions>
</plugin>
  • run the following command:
mvn assembly:assembly -Dmaven.test.skip=true

referrence