MainJPrint.java ファイルにある次のクラスを作成しました
import com.XXXXX.pdfPrint.PDFPrint;
public class MainJPrint
{
public static void main(String[] args)
{
//System.out.println("Hello World!");
print(".....");
}
public static String print (final String url)
{
Object rc = AccessController.doPrivileged(new java.security.PrivilegedAction()
{
public Object run()
{
...
}
}
}
}
同じフォルダーに、jar アーカイブjPrint.jar があります。次のコマンドを使用してクラスをコンパイルします。
>javac -classpath jPrint.jar MainJPrint.java
結果のクラス ファイルを実行しようとすると、次のエラーが発生します。
>java MainJPrint
java.lang.NoClassDefFoundError: com/XXXXX/pdfPrint/PDFPrint
Hello World 行のコメントを外し、次の行をコメントにすると、プログラムは正常に実行されます。
にインストールされている j2sdk1.4.2 を使用していC:\j2sdk1.4.2
ます。他の Java バージョンもインストールしました (C:\Program Files\Java: jre 1.6.0_01、jre 1.6.0_02、j2re1.4.2、jre6、jre7、jdk1.7.0_03)。
PATH変数にはC:\j2sdk1.4.2\bin
パスが含まれていますが、java.exeは上位バージョンからロードされていると思いますが、問題ではなく、次のように呼び出すことができます
>C:\j2sdk1.4.2\bin\java.exe MainJPrint
jPrint.jar はサード パーティのアーカイブであり、メソッドを公開するアプレットを作成して、javascript で呼び出すことができるようにする必要があります。私は Java 開発者ではありません。ちょっとした問題があり、本当にここで終わりです。
次のような他のオプションを試しました:
>java MainJPrint -cp .
>java MainJPrint -cp jPrint.jar
では、別のアーカイブにあるクラスを使用するクラス ファイルを実行するにはどうすればよいでしょうか。