2013-03-04 98 views
0

我已經創建了一個桌面應用程序,所以我打算使用dist.zip從項目文件夾中分發軟件。當我從netbeans運行程序時,一切正常。當我打開launch.jnlp文件時,框架將會打開,但它不會偵聽actionlistener,也不會顯示任何內容,但jar文件正在工作。但是,如果我打開jar文件而不是jnlp文件,則打開.class文件。但它從命令提示符運行Jnlp文件不起作用

java -jar projectname.jar 

應用程序連接到數據庫。錯誤在哪裏?

回答

3

這是我成功使用的JNLP。

<?xml version="1.0" encoding="utf-8"?> 
<jnlp 
    codebase="http://www.domain.com/tools" 
    href="livechat.jnlp"> 
    <information> 
    <title>Live Chat</title> 
    <vendor>vendor</vendor> 
    <homepage href="www.domain.com"/> 
    <description>Live Chat Application</description> 
    <icon href="images/logo.png"/> 
    <icon kind="splash" href="images/logo.png"/> 
    <shortcut online="true"> 
     <desktop/> 
     <menu submenu="sub menu name"/> 
    </shortcut> 
    </information> 
    <security> 
     <all-permissions/> 
    </security> 
    <update check="always" policy="always"/> 
    <resources> 
    <j2se version="1.6+" java-vm-args="-esa -Xnoclassgc"/> 
    <jar href="lib/livechat-100.jar"/> 
    </resources> 
    <application-desc main-class="package.mainclass"/> 
</jnlp> 

這種設置方式是JNLP文件存儲在www.domain.com \工具\和jar文件存儲在www.domain.com \工具\ LIB \

在這一行你想找到你的主要類。如果你使用一個包(com.domain.application),你可以使用com.domain.application.mainclass

否則你只會把你的mainclass放在引號中。

<application-desc main-class="package.mainclass"/> 

確保您還簽署了您的jar文件。 Jar Signing


您不必創建XML。如果您打開記事本並將其粘貼到空白頁面,然後將其保存爲filename.jnlp它將保存正確。

你的JNLP文件在很大程度上取決於Web服務器/服務器的文件結構的存儲它,以及應用程序的軟件包名稱,例如(如果你創建了一個):

我將創建一個名爲applet1的java applet,其中包含以下信息: package:com.digitalck.applet1 mainclass:Applet1.java(您的主類是包含您的公共靜態void main()方法的文件) 服務器結構:www.domain。 com/tools/lib

我將存儲www.domain.com/tools中的jnlp文件以及www.domain.com/tools/lib中的SIGNED jar文件

在JNLP文件:

codebase="domain.com/tools" 
href="livechat.jnlp">  (this assumes the file is in my codebase location) 
<jar href="lib/livechat-100.jar"/> 
<application-desc main-class="com.digitalck.applet1.Applet1"/> 

希望這有助於澄清,我展示的要點進行修改,以得到你如果不知道你的應用程序/ applet或如何任何其他信息正常工作正在存儲這些文件。

How to create JNLP files

+0

感謝您的回答。我應該創建一個新的.xml文件並粘貼此代碼,還是應該編輯項目文件夾中的任何文件(?)以更改代碼?請你提供說明。 – vijay 2013-03-04 15:04:13

+0

我編輯了我的答案,以回答新的問題。 – ck1221 2013-03-04 15:21:02

+0

我正在使用JFrame,並且我的jnlp和jar文件位於位置G:\\ projects \\ EPRSoftware \\ dist \\。根據這個可以編輯代碼嗎?謝謝。 – vijay 2013-03-08 08:36:53