将Maven项目打包成可执行jar文件和外种配置方式 引用第三方jar

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

http://blog.csdn.net/zhangdaiscott/article/details/6911640

方法一. mvn assembly 或 mvn package (一个jar包)

把依赖包和自己项目的文件打包如同一个jar包(这种方式对spring的项目不支持)

[html]  view plain  copy
  1.   <build>  
  2.       <plugins>  
  3.           <plugin>  
  4.               <artifactId>maven-assembly-plugin</artifactId>  
  5.               <configuration>  
  6.                   <archive>  
  7.                       <manifest>  
  8.                           <mainClass>com.tang.CSVUtils</mainClass>  
  9.                       </manifest>  
  10.                   </archive>  
  11.                   <descriptorRefs>  
  12.                       <descriptorRef>  
  13.                           jar-with-dependencies  
  14.                       </descriptorRef>  
  15.                   </descriptorRefs>  
  16.               </configuration>  
  17.               <!-- 加上下面这一段,使用 mvn package命令,不加则使用mvn assembly-->  
  18.               <!-- <executions>     
  19.                   <execution>  
  20.                       <id>make-assemble</id>  
  21.                       <phase>package</phase>  
  22.                       <goals>  
  23.                           <goal>single</goal>  
  24.                       </goals>  
  25.                   </execution>  
  26.               </executions> -->  
  27.           </plugin>  
  28.       </plugins>  
  29.   </build>  
Eclipse 中 Run As--- Maven clean ---Maven assembly:assembly(或 Maven package)

Target目录生成如下文件:

其中,

testLog4j-0.1.jar 是不可直接运行的,因为没有带第三方包。

扫描二维码关注公众号,回复: 4928609 查看本文章

testLog4j-0.1-jar-with-dependencies.jar 就是带有第三方包的可执行 jar 包,

在命令行执行 java -jar testLog4j-0.1-jar-with-dependencies.jar 即可运行


方法二:mvn package(一个jar包和一个lib文件夹)

[html]  view plain  copy
  1. <build>  
  2.     <plugins>  
  3.         <plugin>  
  4.             <groupId>org.apache.maven.plugins</groupId>  
  5.             <artifactId>maven-jar-plugin</artifactId>  
  6.             <version>2.4</version>  
  7.             <configuration>  
  8.                 <archive>  
  9.                     <manifest>  
  10.                         <addClasspath>true</addClasspath>  
  11.                         <classpathPrefix>lib/</classpathPrefix>  
  12.                         <mainClass>com.tang.CSVUtils</mainClass>  
  13.                     </manifest>  
  14.                 </archive>  
  15.             </configuration>  
  16.         </plugin>  
  17.         <plugin>  
  18.             <groupId>org.apache.maven.plugins</groupId>  
  19.             <artifactId>maven-dependency-plugin</artifactId>  
  20.             <executions>  
  21.                 <execution>  
  22.                     <id>copy</id>  
  23.                     <phase>package</phase>  
  24.                     <goals>  
  25.                         <goal>copy-dependencies</goal>  
  26.                     </goals>  
  27.                     <configuration>  
  28.                         <outputDirectory>${project.build.directory}/lib</outputDirectory>  
  29.                     </configuration>  
  30.                 </execution>  
  31.             </executions>  
  32.         </plugin>  
  33.     </plugins>  
  34. </build>    

执行maven package 进行打包进入target目录。

其中lib就是第三方jar包的目录,在其他项目引入testLog4j-0.1.jar会自动找到并引入lib里面的包.

只需要拷贝这两个(lib和testLog4j-0.1.jar)即可放到其他地方用了。

在命令行执行:java -jar testLog4j-0.1.jar


方法三:mvn package(推荐)(一个zip包,里面有一个jar包,一个lib文件夹,和一个conf文件夹)

(1)conf/package.xml (conf 文件夹和pom.xml在同一级目录)
[html]  view plain  copy
  1. <assembly>    

猜你喜欢

转载自blog.csdn.net/hhduyc/article/details/84195720
今日推荐