Maven 打jar包

1 mark 一下:

<!-- -->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/xsd/maven-4.0.0.xsd">
 <modelVersion>4.0.0</modelVersion>

 <groupId>com.xxxx</groupId>
 <artifactId>Test</artifactId>
 <version>0.0.1-SNAPSHOT</version>
 <packaging>jar</packaging>

 <name>Test</name>
 <url>http://maven.apache.org</url>

 <properties>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  <!-- spring版本号 -->
  <spring.version>4.0.2.RELEASE</spring.version>
  <!-- mybatis版本号 -->
  <mybatis.version>3.3.0</mybatis.version>
  <!-- log4j日志文件管理包版本 -->
  <slf4j.version>1.7.7</slf4j.version>
  <log4j.version>1.2.17</log4j.version>
  <hibernate.version>4.3.1.Final</hibernate.version>
 </properties>

 <dependencies>
  <dependency>
   <groupId>junit</groupId>
   <artifactId>junit</artifactId>
   <version>4.11</version>
   <!-- 表示开发的时候引入,发布的时候不会加载此包 -->
   <scope>test</scope>
  </dependency>

  <dependency>
   <groupId>commons-logging</groupId>
   <artifactId>commons-logging</artifactId>
   <version>1.2</version>
  </dependency>

  <dependency>
   <groupId>commons-io</groupId>
   <artifactId>commons-io</artifactId>
   <version>2.4</version>
  </dependency>

 </dependencies>

 <build>
  <plugins>
   <!-- 设置这个插件的对应java版本,貌似是为了解决一个历史问题 -->
   <!-- <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId>
    <configuration> <source>1.8</source> <target>1.8</target> </configuration>
    </plugin> -->
   <!-- 如下使用UTF-8 处理资源文件 -->
   <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-resources-plugin</artifactId>
    <configuration>
     <encoding>UTF-8</encoding>
    </configuration>
   </plugin>
   <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <version>2.4</version>
    <configuration>
     <archive>
      <manifest>
       <addClasspath>true</addClasspath>
       <!-- 相关连的jar包要放在libs里面 -->
       <classpathPrefix>libs/</classpathPrefix>
       <mainClass>com.xxx.Test.App</mainClass>
      </manifest>
     </archive>
    </configuration>
   </plugin>
  </plugins>

 </build>
</project>
第一种,比较初级的,我刚弄明白,要添加jar插件,然后写好main函数的类,然后有个libs是用来,放所有用到的jar包的,这里没有自动把jar辅助过去,需要手动了。下面会讲自动把jar关联打一起的。

   <!-- 带关联的jar包打包 -->
   <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>2.3</version>
    <configuration>
     <appendAssemblyId>false</appendAssemblyId>
     <descriptorRefs>
      <descriptorRef>jar-with-dependencies</descriptorRef>
     </descriptorRefs>
     <archive>
      <manifest>
       <mainClass>com.neusoft.Test.App</mainClass>
      </manifest>
     </archive>
    </configuration>
    <executions>
     <execution>
      <id>make-assembly</id>
      <phase>package</phase>
      <goals>
       <goal>assembly</goal>
      </goals>
     </execution>
    </executions>
   </plugin>

这种呢,会把关联的jar也打成了一个jar包,变成俩个了。。。

3:

http://my.oschina.net/cloudcoder/blog/212648 这里的。。也是个办法,但是没有实现配置运行自动的那种效果,继续寻寻找!

 

4:果然牛人多哦。 下面是配置,然后,运行 install

   <!-- 打包jar文件时,配置manifest文件,加入lib包的jar依赖 -->
   <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <configuration>
     <archive>
      <manifest>
       <addClasspath>true</addClasspath>
       <classpathPrefix>lib/</classpathPrefix>
       <mainClass>com.xxx.Test.App</mainClass>
      </manifest>
     </archive>
    </configuration>
   </plugin>
   <!-- 拷贝依赖的jar包到lib目录 -->
   <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <executions>
     <execution>
      <id>copy</id>
      <phase>install</phase>
      <goals>
       <goal>copy-dependencies</goal>
      </goals>
      <configuration>
       <outputDirectory>${project.build.directory}/lib</outputDirectory>
      </configuration>
     </execution>
    </executions>
   </plugin>
   <!-- 解决资源文件的编码问题 -->
   <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-resources-plugin</artifactId>
    <configuration>
     <encoding>UTF-8</encoding>
    </configuration>
   </plugin>
  </plugins>

结果如图:lib里是jar包,运行主程序的jar可以正常运行!

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值