java中运行jar包提示没有主清单属性解决方法
原因:jar包解压后中的META-INF文件夹下的MANIFEST.MF文件缺少定义mainClass属性。说白了就是没有指定class类。MANIFEST.MF其实就是一个清单文件,
解决方法:java项目对应的pom文件中打包插件中添加archive及manifest子标签(完整如下图所示);
com.xxxx.db.core.xxxxx
maven-assembly-plugin
3.0.0
make-assembly
package
single
project.artifactId{project.artifactId}project.artifactId{project.version}
<!-- 打包生成的文件是否要追加 release.xml 中定义的 id 值 -->
<appendAssemblyId>true</appendAssemblyId>
<!-- 将依赖包一起打包 -->
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<!-- 指向打包描述文件 package.xml -->
<descriptors>
<descriptor>assembly/assembly.xml</descriptor>
</descriptors>
<!-- 打包结果输出的基础目录 -->
<outputDirectory>${SP_HOME}\COMMON\Libs\jdbc\xxxx</outputDirectory>
<!-- MANIFEST.MF中Main-Class设置 -->
<archive>
<manifest>
<mainClass>com.spinfosec.db.core.xxxx</mainClass>
</manifest>
</archive>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
本文解决Java中运行Jar包提示没有主清单属性的问题,原因是MANIFEST.MF文件未定义mainClass属性。通过在Maven项目的pom文件中配置archive和manifest子标签,指定Main-Class属性为具体的启动类。
458

被折叠的 条评论
为什么被折叠?



