我是靠谱客的博主 调皮雪碧,最近开发中收集的这篇文章主要介绍java打包exe主启动类未找到_【maven】成功生成jar包,提示找不到主类?,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

问题描述:

使用maven构建zookeeper项目,完成一个简单的创建组的实例,代码调试完成,使用mvn clean install成功打包得到了jar包,但是在执行时发现使用java -cp target/XXX.jar com.App却提示“找不到或者无法加载主类”,用java -jar对jar包查看,提示“包中没有主清单属性”。

解决办法:

首先在网上查询了很多相关的问题,逐一进行了排查,包括环境变量的配置、CLASSPATH中有没有当前路径.、主类中有没有main函数、包名是否正确等等。

最后发现,环境配置都没有问题,并且只有当程序里使用到了第三方jar包时才会出现问题,如果只是一个简单的Hello World程序是可以正常运行的。在经过相关的测试以后,发现问题还是在pom文件上。

首先,对于pom文件中的每个依赖,scope的属性值要注意,它主要管理依赖的部署。目前可以使用5个值:

compile,缺省值,适用于所有阶段,会随着项目一起发布。

provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。

runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。

test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。

system,类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。

其次,这里报错的主要原因是:pom.xml文件中没有加入mainclass的transformer,如下修改pom文件后,程序运行正确,可以把它作为一个模板运用到其他maven项目中。

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

4.0.0

com.hadoop.sgz

zkStudy

jar

1.0-SNAPSHOT

zkStudy

http://maven.apache.org

UTF-8

junit

junit

3.8.1

test

org.apache.zookeeper

zookeeper

3.5.4-beta

log4j

log4j

1.2.17

org.apache.maven.plugins

maven-shade-plugin

1.2.1

package

shade

com.hadoop.sgz.App

最后

以上就是调皮雪碧为你收集整理的java打包exe主启动类未找到_【maven】成功生成jar包,提示找不到主类?的全部内容,希望文章能够帮你解决java打包exe主启动类未找到_【maven】成功生成jar包,提示找不到主类?所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(62)

评论列表共有 0 条评论

立即
投稿
返回
顶部