2009-04-12 6 views
5

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

jdkのインストールを傷つけることなく、これらの新しいクラスをrt.jarに追加できますか? 私はjavaを知っているので、クラスを探すために配線しています。 (そして、メールクラスはjavaxのパッケージ内にある! - いいえはできない

おかげ フィル・D」

+3

が、なぜこのダウンは、投票されたこれらのクラスについて知っておくべき? –

+0

JDKをハッキングすることは決してうまくいかないので、開発環境を損なうことなくJREをハックすることができます。 –

+3

これを答えに入れてください。それは悪い質問ではありません。 –

答えて

3

... のように、彼らは合理的rt.jar内のjavaxフォルダに追加することができそうです、また、あなたがする必要があります。

代わりに、あなたのクラスローダに問題を見つけ出す(おそらくパスを?)。あなたは次のライブラリのためにあなたがアクセスする必要があることを必要があります。

rt.jarのは、あなたができることを意味いじり他のJVM上で実行しないでください。

2

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

またはディレクトリをシステムプロパティjava.ext.dirsに指定することもできます。詳細についてはdocumentation for the extensions mechanismをご覧ください。

rt.jarとおしゃべりしないでください。それは非常に間違いなくではなく、は、WindowsカーネルにMicrosoft Wordを追加しようとするのと同じように、追加のjarファイルを作成する方法です)。

+0

あなたの2番目の提案は私と一緒にクリック!私はむしろ をいくつかの恒久的な方法でjarを登録するよりも、-classpathオプションの一部として を繰り返し指定する必要があります。ありがとう! Phil – javaphild

+0

ところで...私はjavamail .jarをjava.extディレクトリの に置き、完全に機能しました。非常に簡単な効果的なソリューションです。 私のextディレクトリはc:¥program files¥java¥jdk1.6.0_11¥jre¥lib¥ext – javaphild

0

最も確かにいいえ。 コマンドラインから実行しているコマンドを投稿すると、正しい方向を指し示すことができますが、おそらくclasspathパラメータが欠落している可能性があります。 rt.jarのに物事を追加

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

1

は、その可能性と簡単には達成するためにもかかわらず、悪いアイデアのように思えます。

は、このようなコマンドラインからアプリケーションをコンパイルしてみてください(それのjavax.mailパッケージを見るためにjarファイルを調べる/解凍しようとコンパイラがまだのjavax.mailパッケージ文句を言う場合

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

とその期待される内容)はそこにあります。

(7zipをを使用してjarファイルを調べるには、Windows上での簡単な。)

+0

でした(Windowsでは7zipを使用してjarファイルを調べやすい) zipファイルをブラウズできるものどのプラットフォームでも、7zipの機能ではありません。 – Fredrik

+0

ガー、スタックオーバーフローに関するコメントを忘れてしまい、改行を無視しています...申し訳ありません。 – Fredrik

0

あなたが利用できる定義されたクラスの「宇宙」へのクラスを含む個々のクラスやjarファイルを追加することができますCLASSPATHの概念を理解する必要がありますコンパイルおよび/または実行したいコードのために。これは、Windowsの世界でPATH変数に似ています。Javaチュートリアルは、この特定の概念のためによく書かされていないことで私を驚か

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

:あなた最も

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

このWindowsのコマンドラインについては

はドキュメントです

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

た両方のjavaとjavac後

関連する問題