如何依赖导入Jars到JWS?

时间:2017-03-29 10:42:59

标签: java java-web-start

我们正在从Applet迁移到JWS。如何为JWS提供依赖jar?请检查我的JNLP文件。

<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.0+" codebase="http://localhost:8080/JWSINSTEADOFAPPLET/" href="HelloWorld.jnlp">
<information>
         <title>HelloWorld</title>
         <vendor>IBM - JWS example of HelloWorld</vendor>`
    enter code here
         <description>HelloWorld - Example of JWS</description>
         <description kind="short">HelloWorld example</description>
         <offline-allowed/>
    </information>
    <security>
    <all-permissions/>
</security>
    <resources>
     <j2se version="1.3+"/>
     <jar href="Harper_Colin.jar" main="true"/>
     <jar href="lib/commons-codec-1.10.jar"/>
     <jar href="lib/commons-httpclient-3.1.jar"/>
     <jar href="lib/commons-logging-1.2.jar"/>
     <jar href="lib/commons-net-3.3.jar"/>
     <jar href="lib/httpclient-4.0.2-sources.jar"/>
     <jar href="lib/httpclient-4.5.3.jar"/>
     <jar href="lib/httpcore-4.4.6.jar"/>
     <jar href="lib/plugin.jar"/>

      </resources>
 <application-desc main-class="Harper_Upload_Final"/>
    </jnlp>

即使在资源标签下提供了依赖的jar,我也会收到如下错误:

java.lang.NoClassDefFoundError: org/apache/http/client/methods/HttpUriRequest
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
    at java.lang.Class.getMethod0(Unknown Source)
    at java.lang.Class.getMethod(Unknown Source)
    at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
    at com.sun.javaws.Launcher.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.apache.http.client.methods.HttpUriRequest
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at com.sun.jnlp.JNLPClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 7 more

请检查以下项目的结构

JWSINSTEADOFAPPLET
    |
     SRC
       |
         PACKAGE
           |
             .java file
    |
     JBoss 7.1 Runtime
    |
      Maven Dependencies
    |
      JRE System Library
    |
      Web Content
         |
           META_INF
         |
           WEB_INF
             |
              lib
                 |.jars
         HelloWorld.jnlp
         index.html
         MyHarper.jar   

    |
      pom.xml   

需要更改的内容让我知道,提前致谢

1 个答案:

答案 0 :(得分:1)

来自this answer ..

  

WEB-INF节点不是应用程序的公共文档树的一部分。 WEB-INF目录中包含的文件不能直接提供给客户端。&#34;。

尝试直接获取(通过在浏览器中键入路径)以确认服务器将拒绝该请求。

相关问题