【问题标题】:No such compiler 'javac' in mavenMaven 中没有这样的编译器“javac”
【发布时间】:2014-08-02 22:25:58
【问题描述】:

我正在尝试使用 Maven 构建一个项目,但我总是收到此错误:

未能在项目语言工具核心上执行目标 org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile):没有这样的编译器“javac”。 -> [帮助 1]

我已将%JAVA_HOME% 设置为我的JDK(即JDK7,我必须使用它,因为项目需要它)。

我正在使用 maven-compiler-plugin 3.1 版

Maven 和 JAVA 版本

Apache Maven 3.2.1 (ea8b2b07643dbb1b84b6d16e1f08391b666bc1e9; 2014-02-14T19:37:52+02:
Maven home: D:\apache-maven-3.2.1\bin\..
Java version: 1.7.0_40, vendor: Oracle Corporation
Java home: C:\Program Files\Java\jdk1.7.0_40\jre
Default locale: en_US, platform encoding: Cp1252
OS name: "windows 7", version: "6.1", arch: "amd64", family: "windows"

关于如何解决问题的任何想法?

【问题讨论】:

  • 执行mvn -v会看到什么Java版本?
  • 似乎您的 JAVA_HOME 指向的是 JRE 而不是 JDK 目录 vendor: Oracle Corporation Java home: C:\Program Files\Java\jdk1.7.0_40\**jre**

标签: java maven languagetool


【解决方案1】:

如果您可以从命令行运行 javac,则您的 PATH 没有问题。最可能的原因是 maven-compiler-plugin 使用的 jar 之一已损坏。

您可以尝试从本地 .m2 maven 存储库中删除 org/apache/maven/plugins 和/或 org/codehaus/plexus 目录,强制 maven 在您下次尝试构建时重新下载它们。如果这对您不起作用,您可以尝试更激进的方法并删除整个 .m2 存储库,以确保您已清除有问题的 jar。然而,plexus jars 是主要嫌疑人,尤其是负责为 maven-compiler-plugin 提供 javac 包装器的 plexus-compiler-javac。

【讨论】:

    【解决方案2】:

    将 %JAVA_HOME%\bin 添加到您的 PATH 环境变量(通常是 SYSTEM -> 环境变量 -> 所有用户 -> PATH),

    PATH=%JAVA_HOME%\bin;%PATH%
    

    【讨论】:

      猜你喜欢
      • 2012-02-14
      • 1970-01-01
      • 1970-01-01
      • 2011-06-06
      • 1970-01-01
      • 2012-12-19
      • 1970-01-01
      • 1970-01-01
      • 2012-10-21
      相关资源
      最近更新 更多