8

当我浏览服务器的 IP 地址时,我有一个可以很好地加载 java web start 的 jar。一旦我尝试使用服务器名称,我就会得到以下异常:

com.sun.deploy.net.FailedDownloadException:无法加载资源:
    在 com.sun.deploy.net.DownloadEngine.actionDownload(未知来源)
    在 com.sun.deploy.net.DownloadEngine.getCacheEntry(未知来源)
    在 com.sun.deploy.net.DownloadEngine.getCacheEntry(未知来源)
    在 com.sun.deploy.net.DownloadEngine.getResourceCacheEntry(未知来源)
    在 com.sun.deploy.net.DownloadEngine.getResourceCacheEntry(未知来源)
    在 com.sun.deploy.net.DownloadEngine.getResource(未知来源)
    在 com.sun.javaws.LaunchDownload$DownloadTask.call(未知来源)
    在 java.util.concurrent.FutureTask$Sync.innerRun(未知来源)
    在 java.util.concurrent.FutureTask.run(未知来源)
    在 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(未知来源)
    在 java.util.concurrent.ThreadPoolExecutor$Worker.run(未知来源)
    在 java.lang.Thread.run(未知来源)

包装的异常:

java.io.FileNotFoundException:
  在 sun.reflect.GeneratedConstructorAccessor2.newInstance(未知来源)
  在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(未知来源)
  在 java.lang.reflect.Constructor.newInstance(未知来源)
  在 sun.net.www.protocol.http.HttpURLConnection$6.run(未知来源)
  在 java.security.AccessController.doPrivileged(本机方法)
  在 sun.net.www.protocol.http.HttpURLConnection.getChainedException(未知来源)
  在 sun.net.www.protocol.http.HttpURLConnection.getInputStream(未知来源)
  在 com.sun.deploy.net.BasicHttpRequest.doRequest(未知来源)
  在 com.sun.deploy.net.BasicHttpRequest.doRequest(未知来源)
  在 com.sun.deploy.net.BasicHttpRequest.doGetRequest(未知来源)
  在 com.sun.deploy.net.DownloadEngine.actionDownload(未知来源)
  在 com.sun.deploy.net.DownloadEngine.getCacheEntry(未知来源)
  在 com.sun.deploy.net.DownloadEngine.getCacheEntry(未知来源)
  在 com.sun.deploy.net.DownloadEngine.getResourceCacheEntry(未知来源)
  在 com.sun.deploy.net.DownloadEngine.getResourceCacheEntry(未知来源)
  在 com.sun.deploy.net.DownloadEngine.getResource(未知来源)
  在 com.sun.javaws.LaunchDownload$DownloadTask.call(未知来源)
  在 java.util.concurrent.FutureTask$Sync.innerRun(未知来源)
  在 java.util.concurrent.FutureTask.run(未知来源)
  在 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(未知来源)
  在 java.util.concurrent.ThreadPoolExecutor$Worker.run(未知来源)
  在 java.lang.Thread.run(未知来源)
引起:java.io.FileNotFoundException:
  在 sun.net.www.protocol.http.HttpURLConnection.getInputStream(未知来源)
  在 java.net.HttpURLConnection.getResponseCode(未知来源)
  ... 15 更多

JNLP:

<?xml version="1.0" encoding="utf-8"?>
<jnlp
    spec="1.0+"
    codebase="http://servername/Site/Views/.."
    href="">
    <information>
        <title>title</title>
        <vendor>vendor</vendor>
        <description>description</description>
        <description kind="short">short</description>
        <icon href="../../icon.gif" />
    </information>
    <security>
        <all-permissions/>
    </security>
    <resources>

        <j2se version="1.5+" java-vm-args="-Xmx1000M -Xms150M" initial-heap-size="150M" max-heap-size="1000M" />
        <j2se version="1.4.2+" href="http://java.sun.com/products/autodl/j2se" java-vm-args="-Xmx1000M -Xms150M" initial-heap-size="150M" max-heap-size="1000M" />

        <jar href="/file.jar"/>
    </resources>
    <application-desc main-class="com....">
        <argument>CD6B172DEC34924D83EA64A61A6550BE1271325929392</argument>
        <argument>http://servername/file.asp</argument>
        <argument>/Site</argument>
    </application-desc>
</jnlp>

知道我应该寻找什么吗?

4

9 回答 9

14

我已将 java 代理设置更改为直接连接 - 它可以工作。

于 2010-04-15T10:30:02.603 回答
6

尝试使用Janelagithub来诊断问题。

于 2010-04-15T10:28:07.723 回答
2

在相应服务器的主机文件 (C:\Windows\System32\drivers\etc\host) 中包含您的 IP 地址:

样本条目:

10.100.101.102 server1.us.vijay.com Vijay 的服务器

于 2012-11-02T07:15:44.537 回答
1

我不确定到底是什么问题,但我查看了我的一个 jnlp 文件,并且我已经输入了每个 jar 文件的完整路径。(我有一个速度模板,它生成 app.jnlp 文件,当我的 Maven 构建运行时,它将它放置在所有正确的位置)

我看到发生的一件事是 jnlp 文件由 webstart 运行时重新下载,它使用 href 属性(在 jnlp 文件中留空)重新下载文件。我将从那里开始,并尝试将完整路径也添加到 jnlp 文件中......我发现 webstart 是一个善变的情妇!

于 2010-04-15T10:31:23.607 回答
1

如果其他人因为试图设置 Jenkins 从站而来到这里,那么您需要将主机的 url 设置为它实际使用的那个。

在主机上,转到管理 Jenkins > 配置系统并编辑“Jenkins URL”

于 2016-03-23T03:29:00.947 回答
0

我遇到了同样的问题,我用服务器地址更新了主机文件并且它工作

于 2017-11-23T11:19:42.687 回答
0

将 java 代理设置更改为直接连接并没有解决我的问题。

什么对我有用:

  1. 以管理员身份运行“配置 Java”。
  2. 进入高级
  3. 滚动到底部
  4. 在:“高级安全设置”下,取消选中“使用 SSL 2.0 兼容的 ClientHello 格式”
  5. 节省
于 2019-04-16T20:48:08.667 回答
0

这也对我有用,非常感谢

将 java 代理设置更改为直接连接并没有解决我的问题。

什么对我有用:

Run "Configure Java" as administrator.
Go to Advanced
Scroll to bottom
Under: "Advanced Security Settings" uncheck "Use SSL 2.0 compatible ClientHello format"
Save
于 2020-08-12T11:20:44.823 回答
0

在此处输入图像描述

在“高级选项卡”-> 向下滚动并取消选中安全设置中的所有选项并尝试逐一检查,最后应用程序开始使用一个选项 TLS 1.1 运行

这就是我得到的解决方案。

于 2020-09-09T06:21:39.260 回答