当前位置: 首页 > news >正文

mevan pom.xml常见问题


本文介绍如何使用Maven进行项目打包,并通过配置maven-assembly-plugin和maven-shade-plugin添加依赖及主类。针对打包过程中出现的签名错误问题,提供了具体的解决方案,包括排除不必要的文件和手动添加主类。
打包依赖,同时添加主类,使用 assembly:assembly打包
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>recommend.merge</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>

使用package打包,同时加入依赖,指定主类
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
</excludes>
</filter>
</filters>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>cal.hive</mainClass>
</transformer>
</transformers>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>

报错
Missing artifact jdk.tools:jdk.tools:jar:1.7

<dependency>
<groupId>jdk.tools</groupId>
<artifactId>jdk.tools</artifactId>
<version>1.7</version>
<scope>system</scope>
<systemPath>${JAVA_HOME}/lib/tools.jar</systemPath>
</dependency>

报错
java.lang.SecurityException: Invalid signature file digest for Manifest main attributes

由于某些包的重复引用,以至于打包之后的META-INF的目录下多出了一些.SF,.DSA,*.RSA文件所致


主类可以在MANIFEST.MF文件中手动添加
MANIFEST.MF文件内容
Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Built-By: Administrator
Created-By: Apache Maven 3.3.9
Build-Jdk: 1.8.0_131
Main-Class: cal.hive

http://www.jsqmd.com/news/339361/

相关文章:

  • 使用VR触觉手套进行更安全的飞机货物舱门操作培训
  • 基于Springboot党员学习交流平台【附源码+文档】
  • 【毕业设计】基于Vue.js和Node.js线上美术馆网站平台(源码+文档+远程调试,全bao定制等)
  • 代码补全新突破:用简单grep实现比复杂RAG快35倍的高效检索
  • 解题随笔:贪心
  • 基于Springboot公司资产管理系统【附源码+文档】
  • Java开发者必看!从入门到精通掌握AI应用开发(建议收藏)
  • 密码学之三 —— KMS、MPC
  • 基于开普勒优化算法的Otsu多阈值分割附Matlab代码
  • CodeTop-0203Day02
  • 【1002】10.4-10.8
  • 【毕业设计】基于net的实验室管理信息系统的设计与实现(源码+文档+远程调试,全bao定制等)
  • 2026 最好用的 OCR 文字识别工具推荐(在线 + API + 本地全对比)
  • 基于单片机的小功率数控直流稳压电源设计
  • stm32毕业论文(毕设)本科生任务书大全
  • 【1002】10.10,11.1-11.5
  • 【毕业设计】基于net的线上阳光好书系统(源码+文档+远程调试,全bao定制等)
  • 从金鱼记忆到博学大脑:构建AI Agent的专业检索系统全攻略
  • Net毕设项目推荐-基于ASP.NET的线上阳光好书系统基于net的线上阳光好书系统【附源码+文档,调试定制服务】
  • 基于STM32肺活量测量装置设计
  • 粒子群算法改进高斯过程回归(PSO-GPR)的锂电池剩余寿命预测附Matlab代码
  • 数字图像处理篇---Sobel算子
  • 基于微信小程序的校园跑腿系统的设计与实现
  • javascript之双重循环
  • Net计算机毕设之基于net的实验室管理信息系统的设计与实现(完整前后端代码+说明文档+LW,调试定制等)
  • 基于萤火虫算法优化LSSVM的风速预测附Matlab代码
  • 商用音乐平台的音乐版权是否可靠?一文看懂如何避坑
  • 【毕业设计】基于net的西安文化旅游信息管理系统的设计与实现(源码+文档+远程调试,全bao定制等)
  • 倍福PLC数据 转 SNMP项目案例
  • fatal: unable to access 解决方案: