我是java web start的新手。我尝试用它来部署我的java应用程序。当我使用JNLP启动应用程序时。该应用程序被打破,因为它找不到外部罐子。有人可以帮忙吗?
此应用程序是一个通过sftp将文件上传到服务器的swing应用程序,它使用一些外部jar。我创建了一个app.jar来包含我编写的所有类,并将所有外部jar放在一个名为lib的文件夹中。所有的罐子都签了。当我通过java -jar app.jar从本地计算机运行它时它工作正常。我将所有jar文件上传到ROOT Tomacat7中的文件夹(APP)后。 java web start可以启动应用程序,但由于缺少外部jar导致的java.lang.NoClassDefFoundError异常,它被卡在中间。
app.jar在APP中,所有外部jar都在APP / lib中。 jnlp文件也在APP中,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" codebase="http://serverIP:8080/APP/" href="test.jnlp">
<information>
<title>test</title>
<vendor>test</vendor>
<homepage href="http://serverIP:8080/APP/" />
<description>test</description>
</information>
<security>
<all-permissions/>
</security>
<update check="always" policy="always"/>
<resources>
<!-- Application Resources -->
<property name="jnlp.packEnabled" value="true"/>
<j2se version="1.6+" />
<jar href="app.jar" main="true" />
<jar href="lib/externalA.jar" />
<jar href="lib/externalB.jar" />
<jar href="lib/externalC.jar" />
<jar href="lib/externalD.jar" />
<jar href="lib/externalE.jar" />
<jar href="lib/externalF.jar" />
</resources>
<application-desc
name="Test"
main-class="guiClient.GUIClient"
width="300"
height="300">
</application-desc>
</jnlp>