有没有办法强迫maven(2.0.9)在一个jar文件中包含所有依赖项?

我有一个项目,将其构建到一个jar文件中.我希望依赖项中的类也被复制到jar中.

我知道我不能只在jar文件中包含一个jar文件.我正在寻找一种方法来解包指定为依赖项的jar,并将类文件打包到我的jar中.

推荐答案

可以使用带有"jar with dependencies"描述符的maven assembly插件来实现这一点.以下是我们其中一个pom中的相关块.xml实现了这一点:

  <build>
    <plugins>
      <!-- any other plugins -->
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
          </descriptorRefs>
        </configuration>
      </plugin>
    </plugins>
  </build>

Java相关问答推荐

如何将一些命令写入Chrome控制台,然后使用Java将输出存储在selenium中

在applitcation.properties中找到的字符串中输入变量

Analyst Idea构建错误:NoClassDefFound错误:javax/html/bind/JAVAX Bwitch [SOLVED]

Spring Boot找不到Mapper bean

获取拦截器内部的IP地址

Spring Webocket:尽管凭据设置为False,但MLhttpsify和Fetch请求之间的CORS行为存在差异

当列顺序更改时,Table View列列表的Change. wasPermanted()总是返回假

如何在Spring Security中设置CustomLogin路径?

如何用javac编译Java类,即使对像java.lang.*这样的基本类也没有任何依赖关系?

使用JdkClientHttpRequestFactory通过Spring RestClient和Wiemock读取时达到EOF

无法使用ApacheSpark依赖项构建JavaFX应用程序

有没有可能在时间范围内得到多种解决方案?

JOLT根据值删除并保留其余的json键

使用for循环时出现堆栈溢出错误,但如果使用if块执行相同的操作,则不会产生错误

在Java Spring JPA中插入包含对其他实体的引用的列

通过/失败的参数化junit测试方法执行数

在Java中比较同一多维数组的两个不同的字符串元素

如何在Spring Boot中为不同的部署环境管理多个.properties文件?

如何使用带有可选参数的类生成器?

将@Transactional添加到Spring框架中链下的每个方法会产生什么效果?