maven打包成第三方jar包且把pom依赖包打入进来的方法

时间:2021-11-01 00:05:31

添加此plugin到项目的pom.xml中

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<build>
      <plugins>
        <plugin>
          <artifactid>maven-assembly-plugin</artifactid>
          <configuration>
            <archive>
              <manifest>
                <mainclass>com.allen.capturewebdata.main</mainclass>
              </manifest>
            </archive>
            <descriptorrefs>
              <descriptorref>jar-with-dependencies</descriptorref>
            </descriptorrefs>
          </configuration>
        </plugin>
      </plugins>
    </build>

如果出现class重名的情况,这时候就要把最新的版本号添加进去即可,

2,打包命令:mvn assembly:assembly, 执行成功后会在target文件夹下多出一个以-jar-with-dependencies结尾的jar包. 这个jar包就包含了项目所依赖的所有jar的class。

3.如果不希望依赖的jar包变成class的话,可以修改assembly插件.

3.1 找到assembly在本地的地址,一般是c:/users/${your_login_name}/.m2/\org\apache\maven\plugins\maven-assembly-plugin\2.4

3.2 用winzip或解压工具打开此目录下的maven-assembly-plugin-2.4.jar, 找到assemblies\jar-with-dependencies.xml

3.3 把里面的unpack改成false即可

打包main

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<build>
 <plugins>
  <plugin>
  <groupid>org.apache.maven.plugins</groupid>
  <artifactid>maven-jar-plugin</artifactid>
  <configuration>
   <archive>
   <manifest>
    <addclasspath>true</addclasspath>
    <classpathprefix>lib/</classpathprefix>
    <mainclass>com.coffee.bee.main</mainclass>
   </manifest>
   </archive>
  </configuration>
  </plugin>
  <plugin>
  <groupid>org.apache.maven.plugins</groupid>
  <artifactid>maven-dependency-plugin</artifactid>
  <executions>
   <execution>
   <id>copy</id>
   <phase>package</phase>
   <goals>
    <goal>copy-dependencies</goal>
   </goals>
   <configuration>
    <outputdirectory>${project.build.directory}/lib</outputdirectory>
   </configuration>
   </execution>
  </executions>
  </plugin>
 </plugins>
 </build>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:http://www.cnblogs.com/tuifeideyouran/p/5277893.html