2011-04-17 56 views
0

java應用程序要創建一個excutable文件爲我的Java項目,以前的時候,我通過在Jbuilder做,或netbean我記得,但我不知道我應該怎麼做,在JDeveloper中做出Excutable文件(EXE文件)如何使excutable我與JDeveloper

請諮詢我,請描述清楚...

編輯: 這是簡單的桌面application.it沒有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 
+0

它是一個什麼樣的項目?我懷疑你可以爲web項目做這樣的事情。 – lobster1234 2011-04-17 21:41:06

+0

我把一些注意事項,這是簡單的桌面應用程序,而不是Web項目... – Amir 2011-04-17 21:47:31

回答

0

如果您的桌面應用程序有一個GUI,並且您可以從一個站點發布它,請參閱Java Web Start

JWS提供最終用戶,自動更新,桌面集成,閃屏和更是一個「一鍵式」安裝選項。它是標準Java(1)發行版的一部分(自1.4.2開始),Oracle支持&。


(1)JWS可與標準的Jar文件 - 無需exe文件,這意味着它將在* nix & Mac上工作。

+0

我不想這樣做,我想從Oracle形式調用它... – Amir 2011-04-17 21:53:40

+0

你知道我可以傳遞參數到一個jar文件嗎? – Amir 2011-04-17 21:53:59

+0

什麼是「Oracle表單」?我看了一下http://www.oracle.com/technetwork/developer-tools/forms/overview/index.html並且仍然無法制作頭像或尾巴。 – 2011-04-17 21:56:41

1

你考慮過Launch4j嗎?

關於你的配置問題,Launch4J documetation說:

在運行其他JVM選項

當您創建的所有配置的詳細信息被編譯 到可執行的包裝或發射 ,不能 更改時不會重新創建它或使用資源編輯器進行黑客入侵。 Launch4j 2.1.2引入了一個新的 功能,允許在運行時從 .l4j.ini文件傳遞附加的 JVM選項。現在,您可以在配置文件,ini 文件中指定 選項或在兩者中指定 選項,但不能用 覆蓋它們。 ini文件的名稱 必須對應於可執行文件的 (myapp.exe:myapp.l4j.ini)。該 參數應與 空格或新的生產線,環境 變量擴展支持進行分離, 例如:

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

,你可以考慮其他的選擇是JSmoothWinRun4J

+0

感謝它是非常好的軟件,但我有同樣的問題,上面提到當我運行我的exe文件現在一個彈出消息,我創建將出現關於缺少的參數,但當我嘗試傳遞參數沒有行動!以前我用JDeveloper現在傳遞參數:( – Amir 2011-04-17 22:29:05

+0

@rima Launch4j文檔解釋瞭如何解決這個問題。我已經更新了這篇文章。 – 2011-04-17 22:37:38

+0

所以它沒有用,因爲我想從我的程序中發送一個用戶名到Oracle表單中。 – Amir 2011-04-17 22:40:31

0

它這麼簡單的傢伙... 我用這種方式解決了我的問題......最簡單的方法....

首先檢查安裝在客戶端計算機上的Java版本,您可以通過這個命令在CMD檢查: Java中,你要確保有關Java版本,你需要做一個bat文件-version

後。 [版本中的衝突可能導致null,除非]之後,你應該知道你在這個項目中使用了哪個外部包...例如我使用1個文件連接到oracle數據庫「ojdbc14」,另一個用於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] 

我會如此感激,如果有人添加了一些有用的信息,以這篇文章

相關問題