我正在看书"Introducing Spring Framework"并尝试运行第一个基本的 Hello World 示例。
这里使用Gradle构建项目,但不知何故无法编译:
Caused by: java.lang.RuntimeException: Cannot find System Java Compiler. Ensure that you have installed a JDK (not just a JRE) and configured your JAVA_HOME system variable to point to the according directory.
问题是,我已经正确配置了JAVA_HOME
,并且java -version
正确返回了jdk的版本。
可能出了什么问题?
编辑:我使用的是Linux。乌类图。
编辑2:which javac
和which java
都显示/usr/bin/java
编辑3:现在编译器似乎可以工作,但它不理解代码中使用的 spring 注释。我在 gradle.build 中有 spring 引用:
apply plugin: 'java'
apply plugin: 'application'
mainClassName = System.getProperty("mainClass")
repositories {
mavenCentral()
}
dependencies {
compile 'org.springframework:spring-context:4.0.5.RELEASE'
}
最佳答案
不管评论如何,我仍然相信这是一个 PATH 问题。
确保您的路径和安装一切正常
这是在 Linux 上轻松快速设置 JDK 的最佳资源(我认为)- http://www.wikihow.com/Install-Oracle-Java-JDK-on-Ubuntu-Linux
检查一下。
PS:我想到的另一件事是:
写一个非常非常非常简单的HelloWorld.java,只需System.out.print("something");
将其放置在某个位置并使用终端进行导航。
现在尝试从终端运行它 - java HelloWorld.java 如果成功, javac HelloWorld
等等
如果这有效,则说明 Gradle 存在问题。也许您或系统以某种方式更改了 Gradle 设置中预定义的 JAVA_PATH。
也检查一下!
关于java - 为什么 Gradle 编译 Java 项目失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28219168/