使用maven打jar包时,如何只把依赖的其它jar中的类打进jar包,没有依赖的其它jar包的类文件不打进来?

简介

使用Maven打包时,默认情况下,所有依赖的jar包都会被打包到生成的jar文件中。
如果只想将依赖的其他jar中的类文件打进来,而不包含其它jar包,可以使用Maven的 maven-shade-plugin插件进行配置。

步骤

以下是一个示例配置,将只打包依赖的其他jar中的类文件:

1. 在pom.xml文件中添加maven-shade-plugin插件的配置:

XML 复制代码
<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-shade-plugin</artifactId>
      <version>3.2.4</version>
      <executions>
        <execution>
          <phase>package</phase>
          <goals>
            <goal>shade</goal>
          </goals>
          <configuration>
            <filters>
              <filter>
                <artifact>*:*</artifact>
                <includes>
                  <include>**/*.class</include>
                </includes>
              </filter>
            </filters>
          </configuration>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>

2.运行mvn package命令进行打包。

这样,生成的jar文件将只包含依赖的其他jar中的类文件,而不包含其他jar包。

相关推荐
winfredzhang14 小时前
用 Python + wxPython 做一个个人健康饮食管理工具:从记录三餐到综合生活建议
python·wxpython·deepseek·生活习惯管理
Irissgwe14 小时前
十、LangGraph能力详解:工作流的常见模式
python·langchain·ai编程·工作流·langgraph
Merlyn1015 小时前
【栈】155. 最小栈
python·算法
SilentSamsara15 小时前
NumPy 进阶:广播机制、ufunc 与向量化计算的工程实践
开发语言·python·青少年编程·性能优化·numpy
林爷万福15 小时前
机器学习在光谱分析中的应用:Python实现
人工智能·python·机器学习
编程探索者小陈15 小时前
接口自动化三件套:JSON Schema 校验 + logging 日志 + Allure 测试报告
开发语言·python
godspeed_lucip15 小时前
LLM和Agent——专题6:Multi Agent 入门(3)
人工智能·python
如此这般英俊15 小时前
手搓Claude Code-第二章 tool_use
人工智能·python·ai·语言模型
geminigoth15 小时前
python入门三:字典、输入、while循环
开发语言·python
我登哥MVP15 小时前
Spring Boot 从“会用”到“精通”:自定义参数绑定原理
java·spring boot·后端·spring·servlet·maven·intellij-idea