【发布时间】:2018-11-20 19:24:58
【问题描述】:
我有一个关于软件工程的课程,我们有一个销售系统的 gradle 项目。它需要java 8才能运行,我已经安装在我的电脑上。我也有 java 9,除了那个类,我用它来做其他任何事情。
我有一个似乎无法解决的非常乏味的问题:我似乎无法让 intelliJ 使用 java 8。
我尝试了以下方法:
文件 - 项目结构
在“项目”下 - Java 8
在“模块”下 - 一切都设置为使用 Project SDK (1.8)
在“SDK”下 - 我只有“1.8”
Ctrl + Shift + A -> "切换 IDE 启动 JDK..."
我有 3 个选项:
- 1.8.0_152 java (b16) [启动]
- 1.8.0_152 openjdk (release-1024-b11)[捆绑]
- 1.8.0_181 java (b13)
我已经尝试了所有这些,但仍然没有。
当我打开项目时,它说
C:\Program Files\Java\jdk1.8.0_181\bin\java...
在下方的“运行”选项卡中。但是,当我输入时
java -version
进入“终端”标签,它说
java version "9.0.4"
Java(TM) SE Runtime Environment (build 9.0.4+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.4+11, mixed mode)
当我尝试执行任何 gradlew 命令时,例如 hsql 或 run
我收到此错误:
FAILURE: Build failed with an exception.
* What went wrong:
Could not determine java version from '9.0.4'.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --
debug option to get more log output.
我已经尝试运行我们的主要 gradle.build 文件并且在尝试这些命令之前不运行它,但这并没有什么不同。我们的 build.gradle 文件,如果有帮助的话:
apply plugin: 'java'
apply plugin: 'application'
repositories {
mavenCentral()
}
version = '1.0'
dependencies {
compile project(':')
compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.6.2'
compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.6.2'
}
mainClassName = 'ee.ut.math.tvt.salessystem.ui.SalesSystemUI'
jar {
doFirst {
manifest {
if (!configurations.runtime.isEmpty()) {
attributes('Class-Path': configurations.runtime.collect{it.toURI().toString()}.join(' '))
}
}
}
manifest {
attributes 'Implementation-Title': 'Gradle Quickstart',
'Implementation-Version': version,
'Main-Class': mainClassName
}
}
我的其他团队成员似乎没有问题并且可以很好地运行它。任何帮助将不胜感激。
【问题讨论】:
-
我不认为更改 IntelliJ Java 项目版本会更改您的终端版本。运行一个程序,打印
System.getProperty("java.version"),它说什么? -
如果通过 Intellij 运行,请检查
Build, Execution, Deployment > Build Tools > Gradle中的设置以确保 Gradle 使用正确的 JDK。如果通过终端运行,您可以使用-Dorg.gradle.java.home=<path>更改使用的 JDK。 -
@FrznFlms 它打印出 9.0.4
-
@Slaw 我在
Build, Execution, Deployment > Build Tools > Gradle下检查过,我使用的是正确的版本。 -
如果最坏的情况发生,您可以尝试卸载 Java 9 并运行您的程序。如果任何设置被设置为使用 Java 9,它们要么切换到 Java 8,要么 IntelliJ 会要求您更改它们。一旦你开始工作,你可以重新安装 Java 9 并交叉手指 IntelliJ 不会为你改回来。
标签: java gradle intellij-idea