Проблема с настройкой подключаемого модуля 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)


arrow_upward
14
arrow_downward

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

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

person Vineet Reynolds    schedule 23.07.2010

arrow_upward
3
arrow_downward

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

person Herbert    schedule 01.02.2012

arrow_upward
1
arrow_downward

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

person Tushar Tarkas    schedule 23.07.2010

arrow_upward
1
arrow_downward

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

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

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

person z8888q    schedule 19.08.2011

arrow_upward
0
arrow_downward

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

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

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

person matali    schedule 14.12.2010

arrow_upward
0
arrow_downward

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

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

person Dominik    schedule 19.07.2011

arrow_upward
0
arrow_downward

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

person venkatram mutyala    schedule 03.01.2013

arrow_upward
0
arrow_downward

Цитата

ЧТОБЫ ПРЕОБРАЗОВАТЬ 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