12

最近 Eclipse Kepler にアップグレードしましたが、Ant に問題があります。ビルド ファイルでどのターゲットを選択しても、Java Virtual Machine Launcher - A Java Exception has occured エラーが発生します。

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

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

EDIT 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
4

11 に答える 11

7

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

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

于 2013-10-06T09:49:39.517 に答える
4

私にとって問題は、使用しようとしていたJDKでした。私が構築したかったプロジェクトは、1.6 JDK を使用するようにセットアップされていました。質問者様と同じエラーになりましたが、Java8に変更したらビルドがうまくいきました。したがって、新しいバージョンの Eclipse に付属する ANT バージョンは、古い JDK では動作しないと想定しています。

ここに画像の説明を入力

于 2017-08-21T09:03:44.233 に答える
2

私の場合 :

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

古いワークスペースを別の Eclipse バージョンで再利用したため、Ant->Runtime->Classpath->Ant Home Entries (Default) のすべての 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

于 2014-02-04T14:09:48.963 に答える
1

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

于 2014-03-03T11:55:18.103 に答える
0

私にとっては、メタデータ フォルダーを削除し、すべてのライブラリ プロジェクトをインポートして Eclipse を開始するだけです。Ant クラス パスを確認し、この jar を再度追加します。ありがとう

于 2014-06-09T16:20:37.990 に答える
0

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

于 2015-07-13T06:28:44.200 に答える
0

同じ問題が発生しました。おそらく、2 つのバージョンの Eclipse を切り替えたが、同じワークスペースを使用したことが原因です。これはしばらくの間安全に機能していましたが、突然例外が発生しました。

ワークスペース フォルダー内の .metadata フォルダーを削除しました。

ワークスペースを再度セットアップしました。煩わしい役に立たない Eclipse のデフォルト タブをすべて閉じ、既存のプロジェクトをインポートし、Ant のホーム ディレクトリを Ant...Run Configurations に設定します。

于 2020-05-22T16:46:26.417 に答える