java – OpenJDK在jar中找不到主类,而OracleJDK可以
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – OpenJDK在jar中找不到主类,而OracleJDK可以,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1873字,纯文字阅读大概需要3分钟。
内容图文
我有问题,我根本无法使用OpenJDK运行任何jar,就像普通的OracleJDK一样,没问题.
OpenJDK # java -version
openjdk version "1.8.0_101"
OpenJDK Runtime Environment (IcedTea 3.1.0) (suse-14.3-x86_64)
OpenJDK 64-Bit Server VM (build 25.101-b13, mixed mode)
当我用这个JDK运行一个jar时,它永远找不到主类,即使它在清单中也很难.
OracleJDK # java -version
java version "1.8.0_102"
Java(TM) SE Runtime Environment (build 1.8.0_102-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.102-b14, mixed mode)
当我用这个JDK启动一个jar时没问题.
我是否需要在OpenJDK中配置一些东西,以便它可以从清单中找到主类或者OpenJDK无法做到这一点?
编辑:
源文件结构:
-- ui
---- Main.java
Gradle构建脚本:
group 'some.group'
version '0.1'
apply plugin: 'java'
apply plugin: 'application'
mainClassName = "ui.Main"
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
compile group: 'org.zeromq', name: 'jeromq', version: '0.3.5'
compile group: 'org.controlsfx', name: 'controlsfx', version: '8.40.12'
testCompile group: 'junit', name: 'junit', version: '4.11'
}
jar {
manifest {
attributes 'Implementation-Title': 'PlaceholderTitle',
'Implementation-Version': version,
'Class-Path': configurations.compile.collect { it.getName() }.join(' '),
'Main-Class': mainClassName
}
}
使用installDist构建
表现:
Manifest-Version: 1.0
Implementation-Title: PlaceholderTitle
Implementation-Version: 0.1
Class-Path: jeromq-0.3.5.jar controlsfx-8.40.12.jar
Main-Class: ui.Main
//new line here
解决方法:
好的,我找到了答案.问题是我有一个JavaFX应用程序和安装的OpenJDK运行时环境不支持,我不明白,因为JavaFX是Java 8标准的一部分.
OpenJDK lib / ext文件夹:
cldrdata.jar nashorn.jar
dnsns.jar sunec.jar
icedtea-sound.jar sunjce_provider.jar
jaccess.jar sunpkcs11.jar
localedata.jar zipfs.jar
meta-index
正如你所知,如果你熟悉它,jfxrt.jar就会丢失.这解释了为什么它无法加载Main-Class,因为它继承自javafx.application.Application.
内容总结
以上是互联网集市为您收集整理的java – OpenJDK在jar中找不到主类,而OracleJDK可以全部内容,希望文章能够帮你解决java – OpenJDK在jar中找不到主类,而OracleJDK可以所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。