SunでJavaのJARファイルのチュートリアルを読みましたが、問題の解決策がまだ見つかりません。 jtwitter.jarというjarファイルのクラスを使用する必要があります。ファイルをダウンロードして実行しようとしました(昨日、.jarファイルをダブルクリックすることで実行できることがわかりました)。 [パス] /jtwitter.jarからメインクラスマニフェスト属性を読み込めませんでした。
.jarファイルをコーディングした人はそれをインポートすることを望んでいますが、.jarファイルをどこに保存してコードにインポートするのですか? .jarファイルと.Javaファイルの両方を同じディレクトリに配置しようとしましたが、うまくいきませんでした。
私が仕事をしようとしているファイルはこちらです: http://www.winterwell.com/software/jtwitter.php
JCreator LEを使用しています。
すべてのjarファイルが実行可能というわけではありません。
ここで、Javaファイルに、jarの下にあるクラスをインポートする必要があります。例えば、
import org.xml.sax.SAXException;
IDEで作業している場合は、そのドキュメントを参照する必要があります。または、少なくともこのスレッドで使用しているものを指定します。それは間違いなくあなたをさらに支援することを可能にします。
IDEを使用していない場合は、 javac -cp オプションをご覧ください。ただし、プログラムをjar
ファイルにパッケージ化し、その中に必要なjar
をすべて含めることをお勧めします。次に、jar
を実行するために、
Java -jar my_program.jar
jar
にMETA-INF/MANIFEST.MF
ファイルが必要です。方法については here を参照してください。
Jarファイルorg.example.jar
に含まれるクラスClassname
を使用する必要があるとしましょう
そして、あなたのソースは次のようなファイルmysource.Java
にあります:
import org.example.Classname;
public class mysource {
public static void main(String[] argv) {
......
}
}
まず、ご覧のとおり、コード内でクラスをインポートする必要があります。そのためにはimport org.example.Classname;
が必要です
次に、ソースをコンパイルするときに、jarファイルを参照する必要があります。
コンパイル時に:
と;
を使用する場合の違いに注意してください
UNIXのようなオペレーティングシステムの場合:
javac -cp '.:org.example.jar' mysource.Java
あなたが窓の下にいる場合:
javac -cp .;org.example.jar mysource.Java
この後、バイトコードファイルmysource.class
を取得します
これを実行できます:
UNIXのようなオペレーティングシステムの場合:
Java -cp '.:org.example.jar' mysource
あなたが窓の下にいる場合:
Java -cp .;org.example.jar mysource
クラスパスにjarファイルを追加する必要があります。 Javaクラスをコンパイルするには:
javac -cp .;jwitter.jar MyClass.Java
コードを実行するには(MyClassにmainメソッドが含まれている場合):
Java -cp .;jwitter.jar MyClass
Jarファイルはどこにでも置くことができます。 jarファイルがJavaファイルと同じディレクトリにある場合、上記の機能が動作します。
コードのコンパイル/実行時に、クラスパスに.jarファイルを配置する必要があります。次に、.jarのクラスの標準インポートを使用します。
Workmad3が言うように、jarファイルがクラスパスにある必要があります。コマンドラインからコンパイルする場合、-classpathフラグを使用することを意味します。 (CLASSPATH環境変数は避けてください。首のIMOの痛みです。)
IDEを使用している場合は、どのIDEを使用するかをお知らせください。そのIDEに固有の手順をお手伝いします。