maven打包可執行jar

這裏介紹一下maven打包成可執行jar包


1.依賴處理

mvn dependency:copy-dependencies -DoutputDirectory=target/lib

eclipse下對着工程右鍵->run as-> maven build... 然後複製命令:dependency:copy-dependencies -DoutputDirectory=target/lib 執行即可

2.打包jar

上面的依賴處理中,第三方jar包都導入到了target/lib目錄下

然後配置pom.xml

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-jar-plugin</artifactId>
      <version>2.4</version>
      <configuration>
        <archive>
          <!-- 生成的jar中,不要包含pom.xml和pom.properties這兩個文件 -->
          <addMavenDescriptor>false</addMavenDescriptor>
          <manifest>
            <!-- 是否要把第三方jar放到manifest的classpath中 -->
            <addClasspath>true</addClasspath>
            <!-- 生成的manifest中classpath的前綴,因爲要把第三方jar放到lib目錄下,所以classpath的前綴是lib/ -->
            <classpathPrefix>lib/</classpathPrefix>
            <mainClass>Provider</mainClass>
          </manifest>
        </archive>
      </configuration>
    </plugin>
  </plugins>
</build>

和可以直接這樣,執行命令的時候執行maven package即可

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>2.5.5</version>
    <configuration>
        <archive>
            <manifest>
                <mainClass>com.JMSConsumer</mainClass>
            </manifest>
        </archive>
        <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
        </descriptorRefs>
    </configuration>
    <executions>
        <execution>
            <id>make-assembly</id>
            <phase>package</phase>
            <goals>
                <goal>single</goal>
            </goals>
        </execution>
    </executions>
</plugin>



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