我有一门软件工程类(class),我们有一个销售系统的 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
}
}
我的其他团队成员似乎没有问题并且可以很好地运行。任何帮助将非常感激。
最佳答案
我认为你必须指定 Gradle 才能使用你想要的 JVM。
转到设置->构建、执行、部署->Gradle->Gradle JVM并选择您想要的JDK。 (在此线程中指出:https://stackoverflow.com/a/43624456/2799066)
据我所知,在将项目导入到 idea 时,也可以配置 JVM 和命令行参数。
关于java - 我正在尝试更改 IntelliJ 的 IDE,但它始终运行错误的版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53400143/