eclipse中将maven项目打成可执行的jar包

  • A+
所属分类:java

有时间我们需要将项目打成jar包生成在我们项目的target目录下。

先来说一下maven instal与maven Package的区别:

  1. maven install是将你的maven项目按照packaging属性打包为制定类型到本地仓库中,可以给依赖它的其他项目调用,并自动建立关联。
  2. maven package是将打包文件放在项目target文件目录下,不能给其他项目依赖使用。

 

要想将项目打成jar包生成在target目录下,需要在pom文件中加入以下代码:

<plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <version>2.10</version>
        <executions>
          <execution>
            <id>copy-dependencies</id>
            <phase>package</phase>
            <goals>
              <goal>copy-dependencies</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.build.directory}/lib</outputDirectory>
              <overWriteReleases>false</overWriteReleases>
              <overWriteSnapshots>false</overWriteSnapshots>
              <overWriteIfNewer>true</overWriteIfNewer>
            </configuration>
          </execution>
        </executions>
</plugin>

配置完成后,执行mvn package即可打包。在target目录下会生成两个jar包,注意不是-sources.jar文件,而是另外一个。生成的jar文件包含了所有依赖,所以可以直接运行。该项目下的lib包会生成在同一目录下的lib文件夹中,只有这样就能保证jar能够执行,在cmd命令行运行java -jar xxxx.jar 即可。

注意:头部的package要修改为jar 有时候默认是war,不然会生成war包

<modelVersion>4.0.0</modelVersion>
  <groupId>bpm.ljfx.web</groupId>
  <artifactId>bpm-ljfx-web</artifactId>
  <packaging>jar</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>bpm-ljfx-web Maven Webapp</name>
  <url>http://maven.apache.org</url>

 

 

avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: