6

Javax.mail パッケージをダウンロードしました。私はjdk1.6.0_11を持っています。問題は... javac または java を取得してそれらのクラスを見つけることができないことです! JCreator LE を使用して (メール jar を検索リストに追加することにより) アプリをコンパイルできますが、コマンド ウィンドウでアプリを実行しようとすると失敗します。

jdk のインストールに影響を与えることなく、これらの新しいクラスを rt.jar に追加できますか? 私はJavaがクラスを探すために配線されていることを知っています。(そして、メールクラスは javax パッケージ内にあります - rt.jar の javax フォルダに合理的に追加できるようです..

ありがとう!フィル・ディ

4

5 に答える 5

3

いいえ、できませんし、すべきでもありません。

代わりに、クラスローダー (おそらくパス?) の問題を突き止めてください。アクセスする必要がある次のライブラリで必要になります。

rt.jar をいじると、他の JVM では実行できなくなります。

于 2009-04-12T19:18:57.257 に答える
2

クラスパスでjarファイルを指定する必要があります。できればコマンドラインで-cpオプションを使用しますが、CLASSPATH環境変数を使用することもできます。

または、システム プロパティでそのディレクトリを指定することもできます。java.ext.dirs詳細については、拡張メカニズムのドキュメントを参照してください。

をいじってはいけませんrt.jarこれは、追加の jar ファイルを使用可能にする方法ではないことは間違いありません。これは、Windows カーネルに Microsoft Word を追加しようとするのと似ています ;)

于 2009-04-12T19:30:33.000 に答える
1

rt.jar に何かを追加することは、可能で簡単に実行できるにもかかわらず、悪い考えのように思えます。

次のように、コマンド ラインからアプリケーションをコンパイルしてみてください。

javac -cp <path_to_3rd_libs>/jarfile.jar . MainClass.java

コンパイラがまだ javax.mail パッケージについてエラーを出す場合は、jar ファイルを解凍/検査して、javax.mail パッケージ (およびその期待されるコンテンツ) がそこにあることを確認してください。

(Windows では、7zip を使用して jar ファイルを簡単に調べることができます。)

于 2009-04-12T19:53:16.673 に答える
0

間違いなくいいえ。コマンド ラインから実行しているコマンドを投稿すると、正しい方向を示すことができますが、ほとんどの場合、クラスパス パラメーターが欠落しています。

java -classpath /path/to/mail.jar MyClass

于 2009-04-12T19:39:24.040 に答える
0

コンパイルおよび/または実行するコードで使用可能な定義済みクラスの「ユニバース」に、個々のクラスおよびクラスを含む jar ファイルを追加できる CLASSPATH の概念を理解する必要があります。これは、Windows の世界の PATH 変数と考え方が似ています。

Windows コマンド ラインの場合、これはドキュメントです。

http://java.sun.com/javase/6/docs/technotes/tools/windows/classpath.html

Java チュートリアルは、この特定の概念についてよく書かれていないことに驚きました。

http://java.sun.com/docs/books/tutorial/essential/environment/paths.html

おそらく次のようなものが必要です。

C:> set CLASSPATH=c:\javamail\first.jar;c:\javamail\second.jar

その後、java と javac の両方がこれらのクラスについて認識している必要があります

于 2009-04-12T23:30:56.557 に答える