我已经创建了一个桌面应用程序,因此我计划通过项目文件夹中的 dist.zip 来分发该软件。当我从 netbeans 运行该程序时,一切正常。当我打开 launch.jnlp 文件时,框架将打开,但它不会监听操作监听器,并且不会显示任何内容,但 jar 文件正在工作。但是,如果我打开 jar 文件而不是 jnlp 文件,则 .class 文件将打开。但它从命令提示符运行
java -jar projectname.jar
应用程序已连接到数据库。哪里会出现错误?
最佳答案
这是我成功使用的 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 小程序,其中包含以下信息: 包:com.digitalck.applet1 主类:Applet1.java(您的主类是包含 public static void main() 方法的文件) 服务器结构:www.domain.com/tools/lib
我将把 jnlp 文件存储在 www.domain.com/tools 中,并将签名的 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"/>
希望这有助于澄清,我已经展示了要修改的要点,以便在不知道有关您的应用程序/小程序或如何存储文件的任何其他信息的情况下使您的应用程序/小程序正常工作。
关于java - Jnlp 文件不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15201005/