2012-04-25 15 views
0

私のローカルシステムにJSmoothソフトウェアがあります。 exeとして私のjarファイルを生成しようとしていますが、表示されているexeファイルを実行するとエラーが表示されます。JSmoothを使ってjarをexeに変換する - メインクラスが見つかりません

java virtual machine launcher ---> 
    Could not find main class: MainClass .Program will exit. 

実行可能な実行可能ファイルを作成するにはJSmoothソフトウェアを使用するにはどうすればよいですか?

+0

正しいメインクラスを持つjarファイルのマニフェストはありますか? –

+0

JARファイル自体をクリックして起動できますか? "java -jar my.jar"で実行できますか? –

+0

アプリはありますか? (Swing、AWT、SWT ..)GUIを持っていますか? –

答えて

3

jarファイルをダブルクリックして実行できますか? 実行するためのjarパッケージには、そのパッケージのMETA-INFディレクトリにあるMANIFEST.MFという名前のファイルが必要です。このファイルでは、実行を開始するプログラムの主な方法をVMがどこで見つけるかをVMに伝えることができます。あなたのプロジェクトをビルドするとき、デフォルトでnetbeansのような多くのIDEは実行可能なjarファイルを生成します(私はJVM実行可能パッケージであり、バイナリーexeファイルではありません!)。
JSmoothについてはわかりませんが、jarファイルを実行するには、mainメソッドを見つけるためにjvmと言う必要があります。つまり、あなたのMANIFEST.MFはこのようなものが含まれている必要があり&あなたのjarファイルをチェックすることもできます。

Manifest-Version: 1.0 
Ant-Version: Apache Ant 1.x.x 
Created-By: 1.x.x (Sun Microsystems Inc.) 
Class-Path: 
X-COMMENT: Main-Class will be added automatically by build 
Main-Class: path.to.main.class 
+0

+1 - ここで最も問題となるのは、JARファイルが*実行可能な* JARファイルとして適切に構築されていないことです。それがJSmoothを飛び越えるでしょう。 –

+0

いいえ、それはnetbeans生成されたjar私はJSmooth Appイベントにも同じ問題を抱えていますか? – sateesh

+0

netbeans生成されたjarファイルの場合は、mainメソッド( "public static void main"を意味する)を持っていることを確認してください。プロジェクトのメインクラスとしてmainを含むクラスを設定する必要があります - > –

1

JSmoothは、インポートファイルのための問題があります。あなたはLaunch4jツールを使うことができます。その完璧に動作します。

だけ 1.下の1.4.0のように、基本的なタブの下 2.言及分JREのバージョンを.exe拡張子を持つ出力ファイルとして任意の名前を付けて、年のjarファイルを選択し、従うべきhttp://sourceforge.net/projects/launch4j

階段からダウンロードしてくださいJREタブ 3.保存して実行します。 exeファイルを作成します。

0

私は、MANIFEST.MFが私のメインクラスを "Main.class"ではなく "Main.class"としてリストアップしていることがわかりました。クラス拡張を追加すると、私のためにそれを修正しました。

関連する問題