java - 为什么 Gradle 编译 Java 项目失败?

标签 java spring compilation gradle

我正在看书"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 javacwhich 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/

相关文章:

c - 我应该如何以及何时在 C 程序中使用 _POSIX_C_SOURCE?

c++ - 给定 IR 文件时,如何使 LLVM opt 输出 IR 文件?

java - Eclipse IDE : How to know exact jar file for classes loaded at runtime?

java - 在 Java 中打印出星期几

java - 升级 Spring,现在 Freemarker 抛出 NoSutchMethod 错误

java - 致命异常后自动重启 Spring Boot 应用程序

java - 在程序中提供JavaCompiler

java - 如何访问已安装语言的列表

java - 安卓和Java : Edit Text with multiple language support but few special characters

Spring 使用 SAML 进行 http-artifact 绑定(bind)