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>



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