如何使用java web start部署带有外部jar的java应用程序

时间:2015-01-18 00:26:39

标签: java java-web-start

我是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>

0 个答案:

没有答案