【发布时间】:2017-03-09 02:32:10
【问题描述】:
我有一个问题,我根本无法使用 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
【问题讨论】:
-
我的猜测是清单中有一个错误,一个实现忽略而另一个没有。
-
@Henry 我添加了更多信息
标签: java javafx jar java-8 openjdk