解决使用maven打包项目时,依赖jar先解压成class在打包的问题

最近使用maven打包项目时发现会把当前依赖的所有jar先解压,在跟自己编写的代码生成的class文件一起打包。而我只需要一个运行环境没有的jar而已,
其他依赖包已在运行环境存在。为了减小打包生成jar的大小,只能查阅相关资料。
首先按如下目录找到maven打包时用到的插件包(以下路径为用户未修改本地仓库时的默认配置路径,如修改过请按自己路径查找即可):

C:\Users\{user目录}\.m2\repository\org\apache\maven\plugins\maven-assembly-plugin\2.X,用winrar打开jar包,找到文件

然后打开,显示如下内容:

<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <!-- TODO: a jarjar format would be better -->
  <id>jar-with-dependencies</id>
  <formats>
    <format>jar</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <dependencySets>
    <dependencySet>
      <outputDirectory>/</outputDirectory>
      <useProjectArtifact>false</useProjectArtifact>
      <span style="color:#ff0000;"><unpack>true</unpack></span>
      <scope>runtime</scope>
    </dependencySet>
  </dependencySets>
  <fileSets>
    <fileSet>
      <directory>${project.build.outputDirectory}</directory>
      <outputDirectory>/</outputDirectory>
    </fileSet>
  </fileSets>
</assembly>

找到 <unpack>true</unpack>这句,修改为false。保存,弹出对话框如下:
点击是,即可。然后在项目根目录下使用maven打包命令:mvn assembly:assembly打包即可。
结果发现依赖包仍然保持jar的形式。




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值