2010-07-23 17 views
8

he seguido this threadEclipse Maven configuración del plugin Problema

ahora cuando intento de construir utilizando Maven instalado el plugin que estoy recibiendo el error siguiente. objetivo ejecuté era 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 

in instalado JRE de preferencias es conjunto JRE y

aquí es la instantánea de alrededor de la instalación> Configuración>>

*** 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= 
. 
. 
. 
+0

añadiendo JDK in instalado JRE resolvieron este Vineet Gracias –

+0

Sí, era el JRE instalado. La configuración del tiempo de ejecución de eclipse.ini se refiere a jvm.dll del JDK, por lo que resultó bien. –

+0

Creo que agregar el JDK es precisamente lo que le respondí en su comentario anterior de http://stackoverflow.com/questions/1410511/eclipse-jvm-configuration/1410524#1410524, que enlaza con http://stackoverflow.com/ preguntas/1431531/how-is-the-eclipse-jdk-setting-affect-the-systems-jdk-setting/1431554 # 1431554 – VonC

Respuesta

14

Parece que Eclipse todavía se está refiriendo a un JRE en lugar de un JDK. Además, el tiempo de ejecución predeterminado en Eclipse (que se encuentra en la página "Runtimes instalados" del cuadro de diálogo Preferencias) podría ser un JRE.

me he dado cuenta de que esto a veces se produce debido a las múltiples configuraciones de máquinas virtuales que se obtiene, con la primera o la última que se aplica. Puede confirmar si este es el caso (en Helios), yendo a la página Acerca de de Eclipse y luego viendo la pestaña Configuración en Detalles de la instalación. Por lo general, el culpable resulta ser una nueva línea faltante en eclipse.ini.

+0

editó. –

1

intente configurar JAVA_HOME para JDK y no a JRE?

+1

sí, ya está configurado. –

+2

Eclipse utiliza la máquina virtual señaló en eclipse.ini –

0

También tuve este tipo de problemas.

En mi caso, resultó que JAVA_HOME se definió para mi usuario solo mientras se establecía PATH para el sistema y el complemento maven usaba JRE predeterminado en lugar de JDK. Así que asegúrese de que JAVA_HOME y PATH estén en el mismo ámbito (puse ambas variables para el sistema y agregué JAVA_HOME como la primera parte en PATH).

espero que ayude a alguien.

0

en cuenta el formato de la opción -vm - es importante para ser exactos:

La opción -vm y su valor (el camino) deben estar en líneas separadas. El valor debe ser la ruta absoluta completa al ejecutable de Java, no solo al directorio de inicio de Java. La opción -vm debe aparecer antes de la opción -vmargs, ya que todo después de -vmargs se pasa directamente a la JVM.

1

Cuando creó su proyecto Maven con Eclipse, tal vez la codificación del archivo de texto de las propiedades de su proyecto y el project.build.sourceEncoding en su pom.xml no eran lo mismo. Si ese es el caso, entonces cuando se construyó el proyecto, se obtendría el error

"No se puede encontrar el compilador javac en: ..."

Por ejemplo, mi archivo de codificación de texto era GBK, y mi project.build.sourceEncoding era UTF-8. Acabo de modificar la codificación de mi archivo de texto a UTF-8, ¡y todo estaba bien!

3

Tal vez va a reutilizar una "configuración de ejecución" que lo hizo cuando el JRE se creó fuera del JDK. Cree una nueva "Configuración de ejecución", asegurándose de que la pestaña se indique Java JDK.

0

Si todos los entornos están bien y todavía está obteniendo errores de compilación, el enfoque final es establecer JAVA_HOME como JDK 1.5 o superior. Luego crea el proyecto desde el símbolo del sistema. La construcción debería ser exitosa.

0

Usted podría intentar la actualización del JDK está utilizando Eclipse, de la siguiente manera, y funciona:

Agregar y configurar el JRE en Window-> Preferencias ...-> Java-> JRE instalados:

JRE type: Standard VM JRE 
Name: jdk1.6.0_18 
JRE home directory: C:\Program Files (x86)\Java\jdk1.6.0_18 

Si este no es el caso, es posible que los soportes y espacios en la ruta JAVA_HOME están causando problemas. Intenta copiar tu JDK a una ubicación diferente y actualizando tu JAVA_HOME.

0

cita en bloque

PARA CONVERTIR JRE A JDK:

-> ventanas Goto -> Preferencias -> tipo que installed JRE's en el cuadro de búsqueda arriba a la izquierda -> haga clic en installed JRE's -> seleccione add desde el cuadro de diálogo de la derecha -> haga clic en vm estándar -> seleccione el directorio de "JREHOME" y haga lo siguiente "C: \ Archivos de programa \ java \ jdk1.8. 0_131" -> escriba como jdk1.8.0_131 "NOMBRE JRE" -> haga clic en Finalizar.

Cuestiones relacionadas