Проблема с настройкой подключаемого модуля Eclipse Maven

Я следил за этой веткой

теперь, когда я пытаюсь построить с использованием установленного плагина 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
[email protected]/../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=
.
.
.

person jmj    schedule 23.07.2010    source источник
comment
добавление JDK в установленную JRE решило эту проблему Спасибо Vineet   -  person jmj    schedule 23.07.2010
comment
Да, это была установленная JRE. Конфигурация времени выполнения из eclipse.ini ссылается на jvm.dll из JDK, так что все оказалось нормально.   -  person Vineet Reynolds    schedule 23.07.2010
comment
Я считаю, что добавление JDK - это именно то, на что я ответил вам в предыдущем комментарии stackoverflow.com/questions/1410511/eclipse-jvm-configuration/, со ссылкой на stackoverflow.com/questions/1431531/   -  person VonC    schedule 23.07.2010
comment
Думаю, здесь вы найдете ответ! stackoverflow.com/questions/5163021/   -  person    schedule 12.06.2012


Ответы (8)


Похоже, что Eclipse все еще ссылается на JRE вместо JDK. Кроме того, среда выполнения по умолчанию в Eclipse (находится на странице «Установленные среды выполнения» диалогового окна «Настройки») может быть JRE.

Я заметил, что это иногда происходит из-за получения нескольких конфигураций виртуальных машин с применением первой или последней. Вы можете проверить, так ли это (в Helios), перейдя на страницу «О программе» Eclipse, а затем просмотрев вкладку «Конфигурация» в разделе «Сведения об установке». Обычно виновником оказывается отсутствие новой строки в eclipse.ini.

person Vineet Reynolds    schedule 23.07.2010

Возможно, вы повторно используете «конфигурацию запуска», которую использовали при настройке JRE вне JDK. Создайте новую «Конфигурацию запуска», убедившись, что на вкладке указан Java JDK.

person Herbert    schedule 01.02.2012

Попробуйте установить JAVA_HOME на JDK, а не на JRE?

person Tushar Tarkas    schedule 23.07.2010

Когда вы создавали свой проект Maven с помощью Eclipse, возможно, кодировка текстового файла свойств вашего проекта и project.build.sourceEncoding в вашем pom.xml не совпадали. Если это так, то при создании проекта вы получите ошибку

«Не удалось найти компилятор Javac в: ...»

Например, моя кодировка текстового файла была GBK, а мой project.build.sourceEncoding - UTF-8. Я только что изменил кодировку текстового файла на UTF-8, и все было в порядке!

person z8888q    schedule 19.08.2011

У меня тоже были такие проблемы.

В моем случае оказалось, что JAVA_HOME был определен для моего пользователя только тогда, когда PATH был установлен для системы, а плагин maven использовал JRE по умолчанию вместо JDK. Поэтому убедитесь, что JAVA_HOME и PATH находятся в одной области (я поместил обе переменные для системы и добавил JAVA_HOME в качестве первой части в PATH).

Надеюсь, это кому-то поможет.

person matali    schedule 14.12.2010

Обратите внимание на формат параметра -vm - важно быть точным:

Параметр -vm и его значение (путь) должны быть на отдельных строках. Значение должно быть полным абсолютным путем к исполняемому файлу Java, а не только к домашнему каталогу Java. Параметр -vm должен стоять перед параметром -vmargs, поскольку все, что находится после -vmargs, передается непосредственно в JVM.

person Dominik    schedule 19.07.2011

Если со всеми средами все в порядке, а ошибки сборки по-прежнему возникают, последний подход - установить JAVA_HOME как JDK 1.5 или выше. Затем соберите проект из командной строки. Сборка должна быть успешной.

person venkatram mutyala    schedule 03.01.2013

Цитата

ЧТОБЫ ПРЕОБРАЗОВАТЬ JRE в JDK:

-> Перейти к окнам -> Настройки -> введите installed JRE's в левом верхнем поле поиска -> щелкните installed JRE's -> выберите add в правом диалоговом окне -> щелкните стандартный vm -> выберите каталог для "JREHOME" и выполните следующие действия "C: \ ProgramFiles \ java \ jdk1.8.0_131 "-> затем введите как jdk1.8.0_131" JRE NAME "-> нажмите" Готово ".

person Chitra Kumar    schedule 19.06.2017