【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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章