我创建了一个桌面应用程序,所以我打算使用dist.zip从项目文件夹中分发软件。当我从netbeans运行程序一切正常。当我打开launch.jnlp文件时,框架将打开,但它不会监听actionlistener并且没有显示任何内容,但是jar文件正在运行。但是如果我打开jar文件而不是jnlp文件,则会打开.class文件。但它从命令提示符
运行java -jar projectname.jar
应用程序与数据库有连接。哪里会出错?
答案 0 :(得分: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 \ tools \中,jar文件存储在www.domain.com \ tools \ lib \
在这一行你想要找到你的主类。如果您使用包(com.domain.application),您将使用com.domain.application.mainclass
否则你只需将你的主类放在引号中。
<application-desc main-class="package.mainclass"/>
请务必同时签署您的jar文件。 Jar Signing
您不必创建XML。如果您打开记事本并将其粘贴到空白页面,然后将其保存为filename.jnlp,它将正确保存。
您的JNLP文件在很大程度上取决于您存储它的Web服务器/服务器的文件结构,以及您的应用程序的包名称(如果您创建了一个),例如:
我将创建一个名为applet1的Java applet,其中包含以下信息: 包:com.digitalck.applet1 mainclass:Applet1.java(您的主类是包含public static void main()方法的文件) 服务器结构:www.domain.com/tools/lib
我将jnlp文件存储在www.domain.com/tools和SIGNED jar文件中,网址为www.domain.com/tools/lib
在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"/>
希望这有助于澄清,我已经展示了要修改的要点,以便在不知道有关您的应用程序/小程序的任何其他信息或如何存储文件的情况下让您的工作正常工作。