如何以jar格式在罐子内部建立最终依赖的罐子?

时间:2019-05-27 08:34:41

标签: java maven classloader serena

我需要Maven的配置,其中项目内的所有库都以jar格式存在于最终的jar中。因此,我需要在最终的jar中包含jar。为此,我只能使用Maven。我已经尝试过像one-jar这样的插件没有成功。 谢谢

2 个答案:

答案 0 :(得分:0)

要制作一个包含所有fat jar个文件的jar,请将以下代码添加到pom.xml中。当您clean and build项目时,它将自动创建一个fat jar文件。您需要在main class标签内加上<mainClass>。就是这样。

<project>
      <build>
          <plugins>
              <plugin>
                  <artifactId>maven-assembly-plugin</artifactId>
                  <configuration>
                      <archive>
                          <manifest>
                              <addClasspath>true</addClasspath>
                              <mainClass>your.main.class</mainClass>
                          </manifest>
                      </archive>
                      <descriptorRefs>
                          <descriptorRef>jar-with-dependencies</descriptorRef>
                      </descriptorRefs>
                  </configuration>
                  <executions>
                      <execution>
                          <id>final-jar-with-dependencies</id>
                          <phase>package</phase>
                          <goals>
                              <goal>single</goal>
                          </goals>
                      </execution>
                  </executions>
              </plugin>
          </plugins>
      </build>
    </project>

答案 1 :(得分:0)

不确定嵌套的jar,因为我还没有尝试过。

但是我创建了具有所有项目依赖项的.jar文件(在pom文件中指定)

尝试在终端中执行mvn命令...

mvn org.apache.maven.plugins:maven-assembly-plugin:2.6:assembly -DdescriptorId = jar-with-dependencies软件包