jar包运行不了 Could not find the main class: dt.jar. Program will exit.

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jar包运行不了 Could not find the main class: dt.jar. Program will exit.相关的知识,希望对你有一定的参考价值。

运行jar包 提示找不到入口 main class

确认jar包是没问题的
连jdk里自带的jar都无法运行

运行结果
D:\Program Files\Java\jdk1.6.0_45\lib>java dt.jar
Exception in thread "main" java.lang.NoClassDefFoundError: dt/jar
Caused by: java.lang.ClassNotFoundException: dt.jar
...
...
at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: dt.jar. Program will exit.

D:\Program Files\Java\jdk1.6.0_45\lib>java -jar dt.jar
Failed to load Main-Class manifest attribute from dt.jar

别跟我说jar包里没指定入口类

还请真正明白的人 帮我看看吧

win8 64 Bit JDK:java se 1.6.0_45 64Bit
环境变量
JAVA_HOME
D:\Program Files\Java\jdk1.6.0_45
CLASSPATH
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
android-SDK
D:\Program Files\android-sdk-windows-4.2
Path
%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;%Android-SDK%\platform-tools;%Android-SDK%\tools;

别固执了,本来就是没有程序入口。
你这个jar里头就是一些方法集,没有执行的方法入口。
学过java的都知道,程序入口简单点就是一个main方法。
一个项目在打包成jar的时候可以设定main方法的类,以保证jar可执行。
如果没有main方法的类,那这个jar就是一些程序的集合,可以导入其他项目中被调用。追问

我以前写好的可运行的jar包 在旧电脑上是可以运行的

现在也运行不了 不单是指dt.jar

追答

你可以建个项目,然后导入你要运行的jar包,在自己写的代码里调用jar里的入口方法试试!

追问

找到真正的原因了

java.lang.UnsatisfiedLinkError: Cannot load 32-bit SWT libraries on 64-bit JVM

参考技术A 不明白,同求

Could not find artifact org.pentaho:pentaho-aggdesigner-algorithm:jar:5.1.5-jhyde的解决方法

  今天学习了一下Hive的自定义函数,于是乎想练习一下在本地编写一个自定义的函数,然后打包上传到集群,再进行执行的过程。但是中间遇到了一些小挫折,就是当我打包的时候,除了导入正常所需要的org.apache.hive包之外,并没导入其他的包。但是开始打包以后,报错了,报错信息如下:

  Could not find  artifact org.pentaho:pentaho-aggdesigner-algorithm:jar in http://maven.aliyun.com/nexus/content/group/public

  根据这个日志信息,就知道是缺少这个包了,于是乎最开始想的是手动去下载一下这个包,所以就去maven的官网下载了这个jar包,然后放在了本地仓库的对应路径下:

  ……apache-maven-3.5.4maven-reposorgpentahopentaho-aggdesigner-algorithm5.1.5-jhyde

  路径的省略部分就是maven的存放路径,这个根据自己的实际情况来定。

  下载完以后,然后重启IDEA,同时在pom.xml文件中导入了相应的依赖:

        <dependency>
            <groupId>org.pentaho</groupId>
            <artifactId>pentaho-aggdesigner-algorithm</artifactId>
            <version>5.1.5-jhyde</version>
            <scope>test</scope>
        </dependency>

  但是发现,版本号依旧显示红色,我尝试了一下进行“maven package”操作,在下方的控制台显示的依旧是上面那个报错信息,但是却能够成功的进行打包操作,这我就有点蒙蔽,而且这个jar包上传到集群以后是可以正常运行的,那么到底为啥会发生如此的事情呢?难道是IDEA和jar版本的问题?还是maven和jar包的版本问题,在网上查阅了很多的方法都没有解决,最终再一次查看日志信息,大致意思是无法从阿里云这个仓库下找到这个Jar包,也就是说我在maven的配置文件中配置的阿里云的仓库里找不到5.1.5-jhyde这个jar包,那么到底怎么办呢?既然,没有,那就再加几个仓库呗,没有什么找不到包的问题是加几个仓库解决不了的,如果有,那么就多加几个。

  那么,就打开maven根目录下的conf文件夹,然后修改setting.xml文件,添加两个镜像:

</mirror>
    <mirror>
    <id>aliyunmaven</id>
    <mirrorOf>*</mirrorOf>
    <name>spring-plugin</name>
    <url>https://maven.aliyun.com/repository/spring-plugin</url>
 </mirror>

 <mirror> 
    <id>repo2</id> 
    <name>Mirror from Maven Repo2</name> 
    <url>https://repo.spring.io/plugins-release/</url> 
    <mirrorOf>central</mirrorOf> 
 </mirror>

  保存退出,然后重启一下IDEA,同时刷新一下maven project,点击maven install,问题迎刃而解。

  还是得认真看报错的日志信息啊,不能直接复制报错信息就去百度,太盲目了。

 

附上一个下载地址:https://public.nexus.pentaho.org/repository/proxy-public-3rd-party-release/org/pentaho/pentaho-aggdesigner-algorithm/5.1.5-jhyde/pentaho-aggdesigner-algorithm-5.1.5-jhyde.jar

有的人竟然把这个jar上传到某sdn,然后卖积分用,真是狗的狠啊,这是你的东西么,你就拿来卖?

 

参考链接:https://blog.csdn.net/zxctime/article/details/106007508

以上是关于jar包运行不了 Could not find the main class: dt.jar. Program will exit.的主要内容,如果未能解决你的问题,请参考以下文章

sts安装出现could not find jar:file解决办法,could not find jar:file,sts安装

Android Error:Could not find lottie.jar

Error:Could not find common.jar

sts安装出现could not find jar:file解决办法

Could not find tools.jar when build gradle project

./gradlew build:Could not find tools.jar. 解决方法