javaで作ったswingアプリケーションを、JREを入れていないwindows PCで動作させたいと考えています。(IEは入っていると想定)

それで、javaで作ったクラスファイルをjexegenに渡して、出来たアプリを実行したところ、swing関係のクラスが未定義だと言われます。

C:\development>jexegen /MAIN:aaa /OUT:out.exe bbb.class ccc
.class aaa.class

C:\development>out.exe
java.lang.NoClassDefFoundError: javax/swing/UIManager

jexegenにswingのクラスファイルを渡す必要があるようですが、どれなのかわかりません。

必要とするクラスが定義されているファイルは、どうやって探せばいいですか?
それらを自動的にまとめてjarとかにしてくれるツールってないんでしょうか?

ご存知の方いらっしゃいましたら、お教えください。
jdkは1.3、sdkは、msのサイトから、最新のものをもってきました。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

sdkのことはよく知らないので、


もし的外れだったらすいません。
javax.swingパッケージのクラスファイルなら
JAVA_HOME/jre/lib/rt.jar 内に、
圧縮されて入ってます。
    • good
    • 0
この回答へのお礼

解凍したところ、いろいろ出てきました。

ありがとうございます。

どのパッケージにどのクラスが定義されているのか?
また、クラス定義の依存関係とかから、必要なjar
パッケージを作成するようなものってないんでしょうか?
(わがままなのかな?)

お礼日時:2002/03/24 19:56

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

QTomcatの「\WEB-INF\classes」内のクラスファイルが消えた。

サーブレットを勉強しています。Eclipseを使っています。

ある時、PCが固まり強制終了してしまったのですが、起動させると、\WEB-INF\classes内のクラスファイルが消えてしまっていました(!)。

Eclipseを使っているのですが、どうすればまたクラスファイルを生成することができるでしょうか?Eclipse上で、再度javaファイルを保存し直しても、生成されなません(当たり前?)。

よろしくお願いします。

Aベストアンサー

プロジェクトのリビルドで生成されませんか?

ちなみにオートビルドONにしてると
強制終了→Eclipse起動時にフルビルドされてたきがします。

Qjavax.swing

を使ったプログラムがコンパイルはとおるのに実効時エラーになります。
java.lang.NullPointerException
をだします。

なにがわるいのでしょうか?

Aベストアンサー

ソースを調べてもしばらくわかりませんでした。

やっとわかりました。
・28行目でJRadioButtonの状態を変化させている。
・状態を変化させたことでリスナのitemStateChanged()が働く。
・39行目でcanvasを使っているが、この時点においては
まだcanvasオブジェクトは生成されていない。

このためエラーが出ます。

なお、AWTのGUI部品とSwingのGUI部品を混在させて使うと
不具合が出るため、Canvasは使わない方がいいでしょう。
「でもSwingにJCanvasが存在しない」と悩む人が多いのですが、
CanvasのかわりとしてはJPanelを使います。
コンストラクタ最初の方で、色表示用のJPanelを生成してみてください。

Qコマンドプロンプトが、C:\>からではなくC:\Document and settings\Owner>から始まって困っています。

コマンドプロンプトでjavaのコンパイルを行おうと考えているのですが、
C:\Document and settings\Owner>
から始まって困っています。
C:\>
から始めるにはどうすればいいですか?
わかる方がいれば教えてください。お願いします。

Aベストアンサー

#1です。

すみません 間違ってました。

cd c:¥ 

と打ってください。

cd はチェンジディレクトリ と言う意味です。

Q「Exception in thread "main" java.lang.NoClassDefFoundError: CUSTOMER」エラー

Oracle9i R2にJDBCで接続してCUSTOMER表のレコード件数を調べる単純なJavaプログラムをつくろうとしています。

以下のソースをOracle端末上で実行すると「Exception in thread "main" java.lang.NoClassDefFoundError: CUSTOMER」というエラーメッセージが表示されます。

環境設定としてCLASSPATHにclasses12.zipのパスを通しました。

-------------------------------------------------
// JDBC APIのインポート
import java.sql.*;class CUSTOMER {
public static void main (String args[])
throws SQLException, ClassNotFoundException {

// JDBC Driverの登録
Class.forName("oracle.jdbc.driver.OracleDriver");

// Oracle9iに接続
Connection conn =
DriverManager.getConnection ("jdbc:oracle:thin@192.168.0.10:1521:testdb", "test", "test");

// ステートメントを作成
Statement stmt = conn.createStatement();

// 問い合わせの実行
ResultSet rset = stmt.executeQuery("SELECT COUNT(*) FROM CUSTOMER");

// 問い合わせ結果の表示
while ( rset.next() ) {
// 列番号による指定
System.out.println(rset.getInt(1) + "\t" + rset.getString(2));
}

// 結果セットをクローズ
rset.close();

// ステートメントをクローズ
stmt.close();

// 接続をクローズ
conn.close();
}
}
-------------------------------------------------
何かおわかりの方いらっしゃいましたら教えて下さい。宜しくお願いします。

Oracle9i R2にJDBCで接続してCUSTOMER表のレコード件数を調べる単純なJavaプログラムをつくろうとしています。

以下のソースをOracle端末上で実行すると「Exception in thread "main" java.lang.NoClassDefFoundError: CUSTOMER」というエラーメッセージが表示されます。

環境設定としてCLASSPATHにclasses12.zipのパスを通しました。

-------------------------------------------------
// JDBC APIのインポート
import java.sql.*;class CUSTOMER {
public static void main (String args[])
...続きを読む

Aベストアンサー

thin@ではなくthin:@です。

Qjava.lang.outofmemoryerror java heap space

java のクラスファイルをjarにして、実行する時、大きいなファイルを読むと、java.lang.outofmemoryerror java heap spaceのエラーが出できます。
どう解決すればいいですか。

Aベストアンサー

多分、JVM に設定したメモリサイズの上限値を超えてしまったのだと思われます。
Xms や Xmx オプションなどをつけて実行してみたらどうでしょう。

以下のサイトなどを参考にしてみて下さい。

参考URL:http://www.intra-mart.jp/download/doc/OutOfMemoryError.html


人気Q&Aランキング

おすすめ情報