0

NetBeans7.2 に単純な Java プロジェクトがあり、Clean/Build しようとすると失敗します。

Building jar: D:\MEUS PROJETOS\_Workspace\JavaWorkspace\Mina\dist\Mina.jar
To run this application from the command line without Ant, try:
java -jar "D:\MEUS PROJETOS\_Workspace\JavaWorkspace\Mina\dist\Mina.jar"
Realizando o ofuscamento do código
Obfuscating dist/Mina.jar...
Created dir: D:\MEUS PROJETOS\_Workspace\JavaWorkspace\Mina\build\obfuscated
ProGuard, version 4.8
Reading program jar [D:\MEUS PROJETOS\_Workspace\JavaWorkspace\Mina\dist\Mina.jar]
Reading library jar [C:\Program Files\Java\jdk1.7.0\jre\lib\ext\jna.jar]
Reading library jar [C:\Program Files\Java\jdk1.7.0\jre\lib\ext\mysql-connector-java-5.1.21-bin.jar]
Reading library jar [C:\Program Files\Java\jre7\lib\rt.jar]
Reading library jar [C:\Library\Java\Home\lib\rt.jar]
D:\MEUS PROJETOS\_Workspace\JavaWorkspace\Mina\build.xml:28: Can't read [C:\Library\Java\Home\lib\rt.jar] (No such file or directory)
BUILD FAILED (total time: 5 seconds)

私のプロジェクトのライブラリで [C:\Library\Java\Home\lib\rt.jar] が呼び出されていないため、奇妙です(私のコンピューターには「C:\Library」がまったくありません)。

また、「C:\Program Files\Java\jre7\lib\rt.jar」から既に呼び出されている場合、「rt.jar」が再度呼び出されるのはなぜですか?

これがどこから来たのか、どこで変更できるのかまったくわかりません (プロジェクトのライブラリ リストにないため)。

前もって感謝します!私の悪い英語を許してください...

編集: この問題は、アプリケーションがコンパイル (ビルド) されたときではなく、NetBeans の ProGuard4.8 プラグインが難読化しようとしたときに発生することがわかりました!

4

1 に答える 1

1

「単純な Java プロジェクト」とは、NetBeans の「ファイル」メニューの「新規プロジェクト...」アクションの「Java」カテゴリの「Java アプリケーション」プロジェクトを意味していると思います。

Netbeans のデフォルトのビルド システムAntです。Ant は、プロジェクトのソース コードをコンパイル、パック、および実行するプログラムです。

プロジェクトの [プロパティ] ウィンドウのどこにも文字列 "C:\Library\Java\Home\lib\rt.jar" が見つからない場合、次に探す場所は、プロジェクト ルートの nb-folder 内のプロパティ ファイルです ( "Projects" から "Files" ビューに変更) または build{-impl}.xml ファイル。

「Projects」ビューのプロジェクトアイコンを右クリックして「Clean and Build」アクションをクリックすると、ant は build.xml ファイル (build-impl.xml ファイルをインポートする) を読み取り、clean および jarターゲットを見つけます。は、前述のターゲットを正常に実行するために必要なすべての依存ターゲットとプロパティを計算し、最後に計算された一連のターゲットを実行します。

ただし、NetBeans の「新規プロジェクト」アクションによって作成されたプロジェクトの場合、build.xml および nb-project が自動的に生成され、GUI からプロジェクトのプロパティを変更すると、build-impl.xml およびその他のファイルの一部が変更されます。 . 自動生成されたファイルを編集していない場合は、ここを探す必要はありません。

次に、Netbeans キャッシュの問題であるかどうかを検討します。場所についてはこちらを参照し、そのディレクトリに入り、その内容を削除します (ただし、それが役立つとは限りません)。

興味深いことに、rt.jar は通常 JRE_HOME/lib ディレクトリにあり、JRE_HOME は何らかのJREインストールへのフル パスであるため、JRE_HOME環境変数がこの (存在しない) 場所に設定されているという結論につながる可能性があります。

これはすべて推測にすぎませんが、これが役立つはずです。フィードバックしてください。

于 2012-10-22T19:48:50.417 に答える