我正在阅读一本书"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。 Ubuntu Linux系统。
编辑2:which javac
和which java
都显示/usr/bin/java
编辑3:现在编译器似乎正在工作,但它并不了解代码中使用的spring注释。我在gradle.build
中有弹簧参考:
apply plugin: 'java'
apply plugin: 'application'
mainClassName = System.getProperty("mainClass")
repositories {
mavenCentral()
}
dependencies {
compile 'org.springframework:spring-context:4.0.5.RELEASE'
}
答案 0 :(得分:0)
无论评论如何,我仍然认为这是一个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。
检查一下!
答案 1 :(得分:0)
要检查Windows,您需要检查三件事。在其他系统上,您还需要检查这些内容,但这样做的方式会有所不同:
gradle -v
会告诉您是否找到了gradle版本。否则将gradleX.XX \ bin文件夹放在PATH中。java -v
会告诉您是否找到了一个版本的java。echo %JAVA_HOME%
。转到该文件夹,如果它不存在(这很可能是Gradle抱怨JAVA_HOME的原因),请修复环境变量以指向实际的java安装文件夹。就是这样。