web-dev-qa-db-ja.com

EclipseMavenプラグイン構成の問題

私はフォローしました このスレッド

インストールされている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が設定され、

これは、about>インストール>構成>のスナップショットです。

*** 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=
.
.
.
8
Jigar Joshi

EclipseはまだJDKではなくJREを参照しているようです。また、Eclipseのデフォルトのランタイム([設定]ダイアログの[インストールされたランタイム]ページにあります)はJREである可能性があります。

これは、複数のVM構成が取得され、最初または最後が適用されているために発生することがあることに気付きました。これが当てはまるかどうかは、Heliosで確認できます。 Eclipseの[バージョン情報]ページをクリックし、[インストールの詳細]の[構成]タブを表示します。通常、原因はEclipse.iniに新しい行がないことが判明します。

14
Vineet Reynolds

おそらく、JREがJDKの外部にセットアップされたときに行った「実行構成」を再利用しているのでしょう。タブがJava JDK)と表示されていることを確認して、新しい「実行構成」を作成します。

3
Herbert

Eclipseを使用してMavenプロジェクトを作成したとき、プロジェクトのプロパティのテキストファイルエンコーディングとproject.build.sourceEncodingpom.xmlが同じではなかった可能性があります。その場合、プロジェクトをビルドすると、エラーが発生します

「Javacコンパイラが次の場所に見つかりません:...」

たとえば、テキストファイルのエンコーディングはGBKで、project.build.sourceEncodingはUTF-8でした。テキストファイルのエンコーディングをUTF-8に変更したところ、すべて問題ありませんでした。

1
z8888q

Java_HOMEをJREではなくJDKに設定してみてください。

1
Tushar Tarkas

私もこのような問題を抱えていました。

私の場合、Java_HOMEは、システムにPATHが設定されていて、MavenプラグインがJDKではなくデフォルトのJREを使用している場合にのみ、ユーザーに対して定義されていることがわかりました。したがって、Java_HOMEとPATHが同じスコープ内にあることを確認してください(システムの両方の変数を配置し、PATHの最初の部分としてJava_HOMEを追加しました)。

それが誰かを助けることを願っています。

0
matali

-vmオプションの形式に注意してください。正確であることが重要です。

-vmオプションとその値(パス)は別々の行にある必要があります。値は、Javaホームディレクトリだけでなく、Java実行可能ファイルへの完全な絶対パスである必要があります。-vmオプションは、-vmargsオプションの前に配置する必要があります。 、-vmargsの後のすべてがJVMに直接渡されるため。

0
e-nature

ブロッククォート

JREをJDKに変換するには:

->ウィンドウに移動->設定->左上の検索ボックスにinstalled JRE'sと入力->右側のダイアログボックスからinstalled JRE's->選択addをクリック->標準VMをクリック->選択「JREHOME」のディレクトリを作成し、次の「C:\ ProgramFiles\Java\jdk1.8.0_131」を実行します->次に、jdk1.8.0_131 "JRENAME"と入力します-> [完了]をクリックします。

0
Chitra Kumar

すべての環境に問題がなく、それでもビルドエラーが発生する場合、最後のアプローチはJava_HOMEをJDK1.5以降に設定することです。次に、コマンドプロンプトからプロジェクトをビルドします。ビルドは成功するはずです。

0

次のように、Eclipseが使用しているJDKを更新してみると、次のように機能します。

ウィンドウ->設定...-> Java->インストール済みJREでJREを追加および設定します。

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

そうでない場合は、Java_HOMEパスの角かっことスペースが問題を引き起こしている可能性があります。 JDKを別の場所にコピーして、Java_HOMEを更新してみてください。

0
Snehal Masne