【问题标题】:Eclipse Maven Plugin Configuration ProblemEclipse Maven 插件配置问题
【发布时间】:2011-03-20 01:05:58
【问题描述】:

我已关注this thread

现在,当我尝试使用已安装的 maven 插件进行构建时,出现以下错误。 我执行的目标是clean -X install

Unable to locate the Javac Compiler in:
  C:\Program Files\Java\jre6\..\lib\tools.jar
Please ensure you are using JDK 1.4 or above and
not a JRE (the com.sun.tools.javac.Main class is required).
In most cases you can change the location of your Java
installation by setting the JAVA_HOME environment variable.
-> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.0.2:compile (default-compile) on project trojantime: Compilation failure
Unable to locate the Javac Compiler in:
  C:\Program Files\Java\jre6\..\lib\tools.jar
Please ensure you are using JDK 1.4 or above and
not a JRE (the com.sun.tools.javac.Main class is required).
In most cases you can change the location of your Java
installation by setting the JAVA_HOME environment variable.

    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:581)
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:324)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:247)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:104)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:427)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:157)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:121)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
Caused by: org.apache.maven.plugin.CompilationFailureException: Compilation failure
Unable to locate the Javac Compiler in:
  C:\Program Files\Java\jre6\..\lib\tools.jar
Please ensure you are using JDK 1.4 or above and
not a JRE (the com.sun.tools.javac.Main class is required).
In most cases you can change the location of your Java
installation by setting the JAVA_HOME environment variable.

    at org.apache.maven.plugin.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:516)
    at org.apache.maven.plugin.CompilerMojo.execute(CompilerMojo.java:114)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:105)
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:577)
    ... 14 more
[ERROR] 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

在从首选项中安装的 JRE 中,它是 JRE 设置和

这是关于>安装>配置>的快照

*** Platform Details:

*** System properties:
awt.toolkit=sun.awt.windows.WToolkit
com.sun.management.jmxremote=
eclipse.application=org.eclipse.ui.ide.workbench
eclipse.commands=-os
win32
-ws
win32
-arch
x86
-showsplash
D:\eclipse VT preconfigured\eclipse\\plugins\org.eclipse.platform_3.3.202.v201002111343\splash.bmp
-launcher
D:\eclipse VT preconfigured\eclipse\eclipse.exe
-name
Eclipse
--launcher.library
D:\eclipse VT preconfigured\eclipse\plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519\eclipse_1206.dll
-startup
D:\eclipse VT preconfigured\eclipse\plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar
-showlocation
-product
org.eclipse.epp.package.jee.product
-vm
c:\Program Files\Java\jdk1.6.0_04\jre\bin\client\jvm.dll
eclipse.home.location=file:/D:/eclipse VT preconfigured/eclipse/
eclipse.launcher=D:\eclipse VT preconfigured\eclipse\eclipse.exe
eclipse.p2.data.area=@config.dir/../p2/
eclipse.p2.profile=epp.package.jee
eclipse.product=org.eclipse.epp.package.jee.product
eclipse.startTime=1279882656890
eclipse.vm=c:\Program Files\Java\jdk1.6.0_04\jre\bin\client\jvm.dll
eclipse.vmargs=-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx740m
-Xss4m
-XX:PermSize=128m
-XX:MaxPermSize=128m
-XX:CompileThreshold=5
-XX:MaxGCPauseMillis=10
-XX:MaxHeapFreeRatio=70
-XX:+UseConcMarkSweepGC
-XX:+CMSIncrementalMode
-XX:+CMSIncrementalPacing
-Dcom.sun.management.jmxremote
-Djava.class.path=D:\eclipse VT preconfigured\eclipse\plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar
file.encoding=Cp1252
file.encoding.pkg=sun.io
file.separator=\
java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment
java.awt.printerjob=sun.awt.windows.WPrinterJob
java.class.path=D:\eclipse VT preconfigured\eclipse\plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar
java.class.version=50.0
java.endorsed.dirs=c:\Program Files\Java\jdk1.6.0_04\jre\lib\endorsed
java.ext.dirs=c:\Program Files\Java\jdk1.6.0_04\jre\lib\ext;C:\WINDOWS\Sun\Java\lib\ext
java.home=c:\Program Files\Java\jdk1.6.0_04\jre
java.io.tmpdir=C:\DOCUME~1\argus\LOCALS~1\Temp\
java.library.path=D:\eclipse VT preconfigured\eclipse;.;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;c:/Program Files/Java/jdk1.6.0_04/jre/bin/client;c:/Program Files/Java/jdk1.6.0_04/jre/bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\TortoiseSVN\bin;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\Java\jdk1.6.0_04\bin;C:\Program Files\MySQL\MySQL Server 5.1\bin;C:\Documents and Settings\argus\My Documents\apache-ant-1.7.1-bin\apache-ant-1.7.1\bin;C:\Documents and Settings\argus\My Documents\apache-maven-2.0.10\bin;C:\Documents and Settings\argus\My Documents\groovy-binary-1.7.3\groovy-1.7.3\bin;C:\Documents and Settings\argus\My Documents\patch-2.5.9-7-bin\bin
java.rmi.server.randomIDs=true
java.runtime.name=Java(TM) SE Runtime Environment
java.runtime.version=1.6.0_04-b12
java.specification.name=Java Platform API Specification
java.specification.vendor=Sun Microsystems Inc.
java.specification.version=1.6
java.vendor=Sun Microsystems Inc.
java.vendor.url=http://java.sun.com/
java.vendor.url.bug=http://java.sun.com/cgi-bin/bugreport.cgi
java.version=1.6.0_04
java.vm.info=mixed mode
java.vm.name=Java HotSpot(TM) Client VM
java.vm.specification.name=Java Virtual Machine Specification
java.vm.specification.vendor=Sun Microsystems Inc.
java.vm.specification.version=1.0
java.vm.vendor=Sun Microsystems Inc.
java.vm.version=10.0-b19
line.separator=
.
.
.

【问题讨论】:

  • 在已安装的 JRE 中添加 JDK 解决了这个问题,谢谢 Vineet
  • 是的,它是安装的 JRE。 eclipse.ini 中的运行时配置引用了 JDK 中的 jvm.dll,所以结果很好。
  • 我相信添加JDK正是我在您之前的@​​987654322@的评论中回答你的,链接到stackoverflow.com/questions/1431531/…
  • 我想你会在这里找到答案! stackoverflow.com/questions/5163021/…

标签: java eclipse maven-2 m2eclipse


【解决方案1】:

Eclipse 似乎仍然指的是 JRE 而不是 JDK。此外,Eclipse 中的默认运行时(在 Preferences 对话框的“Installed Runtimes”页面中找到)可能是 JRE。

我注意到,这有时是由于获得了多个 VM 配置,应用了第一个或最后一个配置。您可以通过转到 Eclipse 的 About 页面,然后查看 Installation Details 中的 Configuration 选项卡来确认是否是这种情况(在 Helios 中)。通常,罪魁祸首是 eclipse.ini 中缺少新行。

【讨论】:

    【解决方案2】:

    也许您正在重用在 JDK 之外设置 JRE 时所做的“运行配置”。创建一个新的“运行配置”,确保该选项卡指示为 Java JDK。

    【讨论】:

      【解决方案3】:

      尝试将 JAVA_HOME 设置为 JDK 而不是 JRE ?

      【讨论】:

        【解决方案4】:

        当您使用 Eclipse 创建 Maven 项目时,您的项目属性的文本文件编码可能与您的 pom.xml 中的 project.build.sourceEncoding 不一样。如果是这种情况,那么当你构建项目时,你会得到错误

        “无法在以下位置找到 Javac 编译器:...”

        比如我的文本文件编码是GBK,我的project.build.sourceEncoding是UTF-8。我刚刚将我的文本文件编码修改为 UTF-8,一切正常!

        【讨论】:

          【解决方案5】:

          我也遇到过这种问题。

          在我的情况下,事实证明 JAVA_HOME 仅在为系统设置 PATH 时为我的用户定义,并且 maven 插件使用默认 JRE 而不是 JDK。 所以请确保 JAVA_HOME 和 PATH 在同一范围内(我将两个变量都放在系统中,并将 JAVA_HOME 作为第一部分添加到 PATH 中)。

          希望对某人有所帮助。

          【讨论】:

            【解决方案6】:

            注意 -vm 选项的格式 - 准确很重要:

            -vm 选项及其值(路径)必须位于不同的行上。 该值必须是 Java 可执行文件的完整绝对路径,而不仅仅是 Java 主目录。 -vm 选项必须出现在 -vmargs 选项之前,因为 -vmargs 之后的所有内容都直接传递给 JVM。

            【讨论】:

              【解决方案7】:

              如果所有环境都正常,但您仍然遇到构建错误,那么最后的方法是将JAVA_HOME 设置为 JDK 1.5 或更高版本。然后从命令提示符构建项目。构建应该是成功的。

              【讨论】:

                【解决方案8】:

                块引用

                将 JRE 转换为 JDK:

                ->转到窗口 ->首选项 ->在左上角搜索框中输入installed JRE's ->点击installed JRE's ->从右侧对话框中选择add ->点击标准虚拟机 ->为“JREHOME”选择目录并执行以下“C:\ProgramFiles\java\jdk1.8.0_131” ->然后键入jdk1.8.0_131“JRE NAME” ->点击完成。

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 2011-06-01
                  • 2020-09-30
                  • 2019-03-30
                  • 2011-01-14
                  • 2011-10-07
                  • 2019-10-06
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多