java中运行jar包提示没有主清单属性解决方法

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



p r o j e c t . a r t i f a c t I d {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>
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值