0

Javaプロジェクトの実行可能ファイルを作成したいのですが、以前は覚えているようにJbuilderまたはnetbeanで作成しましたが、JDeveloperで実行可能ファイル(EXEファイル)を作成する方法がわかりません

アドバイスをお願いします、わかりやすく説明してください...

編集: シンプルなデスクトップ アプリケーションです。Web アプリケーションではありません....

EDIT2:引数をチェックするためにその部分を削除し、この問題に直面しているプログラムを実行します:どうすればよいですか?

Executing: C:\JDeveloper\mywork\SourceManagmentTools\Client\deploy\SMT.exe
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: oracle/jdeveloper/layout/VerticalFlowLayout
    at Main.GUI.SmMainFrame.<init>(SmMainFrame.java:134)
    at Main.GUI.SmRun.<init>(SmRun.java:25)
    at Main.GUI.SmRun$1.run(SmRun.java:82)
    at java.awt.event.InvocationEvent.dispatch(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$000(Unknown Source)
    at java.awt.EventQueue$1.run(Unknown Source)
    at java.awt.EventQueue$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: oracle.jdeveloper.layout.VerticalFlowLayout
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 17 more
4

3 に答える 3

1

Launch4jを検討しましたか?

構成の問題に関して、Launch4J のドキュメントには次のように記載されています。

実行時の追加の JVM オプション

ラッパーまたはランチャーを作成すると、すべての構成の詳細が実行可能ファイルにコンパイルされ、再作成またはリソース エディターでハッキングしない限り変更できません。Launch4j 2.1.2 には、実行時に追加の JVM オプションを .l4j.ini ファイルから渡すことができる新しい機能が導入されています。構成ファイル、ini ファイル、またはその両方でオプションを指定できるようになりましたが、それらを上書きすることはできません。ini ファイルの名前は、実行可能ファイル (myapp.exe : myapp.l4j.ini) に対応している必要があります。引数はスペースまたは改行で区切る必要があります。環境変数の展開がサポートされています。次に例を示します。

# Launch4j runtime config
-Dswing.aatext=true
-Dsomevar="%SOMEVAR%"
-Xms16m

検討できる他の代替手段は、 JSmoothWinRun4Jです。

于 2011-04-17T22:03:16.917 に答える
0

デスクトップ アプリケーションに GUI があり、それをサイトから配布できる場合は、Java Web Start を参照してください。

JWS は、エンド ユーザー向けの「ワンクリック」インストール オプション、自動更新、デスクトップ統合、スプラッシュ スクリーンなどを提供します。これは、標準の Java(1) ディストリビューション (1.4.2 以降) の一部であり、Oracle によってサポートされています。


(1) JWS は標準の Jar ファイルで動作します。exe は必要ありません。つまり、*nix と Mac で動作します。

于 2011-04-17T21:51:21.523 に答える
0

それはとても単純な人たちです...私はこの方法で私の問題を解決しました...最も簡単な方法....

まず、クライアント コンピューターにインストールされている Java のバージョンを確認します。CMD で次のコマンドを実行して確認します。 java -version

Java のバージョンを確認したら、bat ファイルを作成する必要があります。[バージョンの競合によりnullが発生する可能性があります]その後、このプロジェクトで使用した外部パッケージを知る必要があります...たとえば、1つのファイルをOracleデータベース「ojdbc14」に接続するために使用し、もう1つのファイルをGUIに使用しました。プログラムを実行するか、クラスの実行可能ファイルの名前の最後に言及するだけでパラメーターを渡すことができます。

java -client -classpath ojdbc14.jar;lipstikLF-1.1.jar;swing-layout.jar;smt.jar Main.GUI.SmRun rimrim

プロジェクトで使用したライブラリも実行する必要があると思いますが、よくわかりません。この作業を提案するだけです

java -client -classpath <name of you library>;<name of you library>;<name of your jar file> nameOfPackage.nameOfRunClass parameter[if any]

誰かがこの投稿に役立つ情報を追加してくれたら、とても感謝しています

于 2011-04-19T16:38:23.193 に答える