web-dev-qa-db-ja.com

AntがEclipseKeplerで機能しない(Java仮想マシンランチャー-A Java例外が発生しました)

最近EclipseKeplerにアップグレードしましたが、Antに問題があります。 Java仮想マシンランチャー-A Javaビルドファイルでどのターゲットを選択しても、例外が発生しました。

JDKを再インストールしようとしましたが、それでもエラーが発生します。 JDKの7u25バージョンを実行しています。 Java_HOME環境変数をC:\Progra~1\Java\jdk1.7.0_25に設定しているので、これは問題ではないと思います。他に何が問題を引き起こしている可能性がありますか?

編集:コマンドラインでantもテストしましたが、問題なく動作します。これはケプラーのバグですか?

編集2:エラーのログは次のとおりです。

org.Eclipse.core.runtime.CoreException: Could not find one or more classes: "org.Apache.tools.ant.BuildLogger". Please check the Ant classpath.
at org.Eclipse.ant.core.AntRunner.problemLoadingClass(AntRunner.Java:467)
at org.Eclipse.ant.core.AntRunner.run(AntRunner.Java:380)
at org.Eclipse.ant.internal.launching.launchConfigurations.AntLaunchDelegate.runInSameVM(AntLaunchDelegate.Java:307)
at org.Eclipse.ant.internal.launching.launchConfigurations.AntLaunchDelegate.launch(AntLaunchDelegate.Java:260)
at org.Eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.Java:858)
at org.Eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.Java:707)
at org.Eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.Java:700)
at org.Eclipse.core.externaltools.internal.model.ExternalToolBuilder.launchBuild(ExternalToolBuilder.Java:181)
at org.Eclipse.core.externaltools.internal.model.ExternalToolBuilder.doBuildBasedOnScope(ExternalToolBuilder.Java:169)
at org.Eclipse.core.externaltools.internal.model.ExternalToolBuilder.build(ExternalToolBuilder.Java:88)
at org.Eclipse.core.internal.events.BuildManager$2.run(BuildManager.Java:726)
at org.Eclipse.core.runtime.SafeRunner.run(SafeRunner.Java:42)
at org.Eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.Java:199)
at org.Eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.Java:239)
at org.Eclipse.core.internal.events.BuildManager$1.run(BuildManager.Java:292)
at org.Eclipse.core.runtime.SafeRunner.run(SafeRunner.Java:42)
at org.Eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.Java:295)
at org.Eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.Java:351)
at org.Eclipse.core.internal.events.BuildManager.build(BuildManager.Java:374)
at org.Eclipse.core.internal.resources.Workspace.buildInternal(Workspace.Java:514)
at org.Eclipse.core.internal.resources.Workspace.build(Workspace.Java:423)
at org.Eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.Java:830)
at org.Eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.Java:707)
at org.Eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.Java:1018)
at org.Eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlugin.Java:1222)
at org.Eclipse.core.internal.jobs.Worker.run(Worker.Java:53)

Caused by: Java.lang.NoClassDefFoundError: org/Apache/tools/ant/BuildLogger
at Java.lang.Class.getDeclaredConstructors0(Native Method)
at Java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
at Java.lang.Class.getConstructor0(Unknown Source)
at Java.lang.Class.newInstance(Unknown Source)
at org.Eclipse.ant.core.AntRunner.run(AntRunner.Java:324)
... 24 more

Caused by: Java.lang.ClassNotFoundException: org.Apache.tools.ant.BuildLogger
at Java.net.URLClassLoader$1.run(Unknown Source)
at Java.net.URLClassLoader$1.run(Unknown Source)
at Java.security.AccessController.doPrivileged(Native Method)
at Java.net.URLClassLoader.findClass(Unknown Source)
at org.Eclipse.ant.internal.core.AntClassLoader.findClass(AntClassLoader.Java:54)
at Java.lang.ClassLoader.loadClass(Unknown Source)
at Java.lang.ClassLoader.loadClass(Unknown Source)
... 29 more
11
Pink Jazz

これは、Eclipseで使用されているAntバージョンの違いが原因である可能性があります。 EclipseでAnt_Homeを更新してください。ウィンドウ->設定-> Ant->ランタイム->クラスパス-> Ant Home ..をクリックして、Antディレクトリの場所の最新バージョンを見つけてください。これは私のために働きます:)

11
Sankalp

私は同じ問題を抱えていて、解決策が何であるかを理解するのにしばらく時間がかかりました。私はこのページと同様のページのすべての提案に従いました。何も役に立たなかった! jdk、Eclipseをアンインストールしてインストールし、プロジェクトをリセットし、Eclipseにパラメーターをクリアさせました...;失敗。

最終的に私の問題を修正したのは、ワークスペースフォルダーの.metadataディレクトリを削除することでした。 Eclipseがそこに何を保持しているかはわかりませんが、.metadataディレクトリを削除すると、Eclipseはすべての設定を再開します。プロジェクト構造を再インポートする必要がありました。それは再び魅力のように機能します。あいまいではありません '例外が発生しました'エラーメッセージ。

7
Omid

(Eclipse-Oxygen)のようなIDEには、デフォルトのantバージョンがあります。 antビルドXMLが上位バージョンのANTと互換性がない場合。

ANTバージョンを適切なバージョンに下げます。 JDKはすべてのANTビルドと互換性があるわけではありません。たとえば、ANT1.9.2はJava 7をサポートする最後のバージョンです。

したがって、JDKバージョンとANTバージョンをそれぞれ一致させる必要があります。 IDEデフォルトバージョンを使用して[設定]-> [ANT]-> [ランタイム]-> [Antホーム]をクリックします(Antホームエントリを上書きする新しいバージョンのANTホームを選択します)

4

私にとって問題は、私が使おうとしていたJDKでした。私が構築したかったプロジェクトは、1.6JDKを使用するようにセットアップされました。質問者と同じエラーが発生しましたが、Java 8に変更すると、ビルドは正常に機能しました。したがって、新しいバージョンのEclipseに付属するANTバージョンは古いJDKでは機能しないと想定しています。 。

enter image description here

3
jhertz

私の場合 :

  • eclipseにログインせず、メッセージ:Java仮想マシンランチャー:A Java例外が発生しました。

古いワークスペースを別のEclipseバージョンで再利用したため、Ant-> Runtime-> Classpath-> Ant Homeエントリ(デフォルト)のすべてのjar依存関係を実数と既存のjar(Eclipse-jeeから)に置き換えることで解決しました-kepler-SR1-win32-x86_64\Eclipse\plugins\org.Apache.ant_1.8.4.v201303080030\lib)

説明: https://bugs.Eclipse.org/bugs/show_bug.cgi?id=102463#c41

2
immobiluser

同じエラーが発生しました。ワークスペースをEclipseIndigoからEclipseKeplerに切り替えました。 Ant_Homeの値をリセットすることで解決できました。元々は正しいフォルダを指していたのですが、同じフォルダにリセットして「適用」をクリックしました。現在は正常に動作しています。お役に立てれば。

1
theAspirant

私の場合、メタデータフォルダーを削除し、すべてのライブラリプロジェクトをインポートしてEclipseを起動します。 antクラスパスを確認し、このjarを再度追加してください。ありがとう

0

私の場合、アリの家は(実際のアリのインスタレーションへの)シンボリックリンクを指していた。 Eclipseはそれが気に入らなかった。実際のインストールフォルダに更新すると、問題が解決しました。

0

最近(当時は同僚でしたが)EclipseでUIインターフェイス(コンテキストメニュー、Run AsまたはDebug As)からANTスクリプトを実行しているときにこの問題が発生しました。

何らかの理由で、ANTスクリプト(またはANT自体については、現時点では不明)のランタイムJREが変更されました。このランタイムJREは、ANTスクリプトのコンテキストメニューExternal Tools Configurations...から変更できます。

Context Menu - Run As - External Tools Configuration

次に、右側の[JRE]タブに移動します。

External Tools Configuration - Runtime JRE

同僚のSeparate JRE設定が間違っていたため、適切なJRE設定(彼の場合はJDK 1.8_XXX)に変更しました。これはマージ後のことで、明らかにいくつかの誤った設定がブランチにマージされました(またはそう思います)。

私の場合、これをRun in the same JRE as the workspaceとして設定したのは間違っていたと思います。また、これをSeparate JREに設定し、適切な1.8 JDKを選択すると、問題が修正されました。これは、Eclipseバージョンのアップグレード後のことでした(私が覚えているように)。

0
TT.

Eclipseに正しいJARが定義されていない可能性があります。 Antに必要なtools.jarを追加しようとしましたか?

環境設定> Ant>ランタイム

enter image description here

0
dispake