2013-03-04 111 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