草庐IT

自 JDK 1.7 以来,Java Web Start 已损坏

coder 2024-03-09 原文

答案如下: 似乎(通过我们的测试)Java 7 Web Start 要求您使用 SSL 证书在服务器上托管您的资源。您的证书不必签名,但未签名的证书会提示客户一条他们可以忽略的信任消息。 有关详细信息,请参阅以下答案

我们有一个内部应用程序,我们已经使用了很多年了。为了使此应用程序的维护更容易,我们没有向我们的员工提供该应用程序的可安装版本,我们只是给他们一个指向 .jnlp 的链接并使用 JWS 在他们的机器上启动它。到目前为止,这非常有效,但是一旦我们的任何员工更新到 Java 7,JWS 系统就会停止在他们的计算机上工作。我们已经检查、重新检查甚至验证了我们的 JNLP 模式,一切正常,这让我们认为 Web Start 本身存在问题。

当用户单击 jnlp 文件时,它会启动 Java 7 启动画面,然后开始下载我们需要的资源。从那里它只是挂起,JWS 启动应用程序的进度条保持为零。

有什么想法吗?这在很大程度上是由于他们升级到 Java 7。与此同时,我们建议所有员工继续使用 Java 6,直至另行通知。我们所有的代码都已正确签名。

这是我们的 JNLP 的副本:

<?xml version="1.0" encoding="utf-8"?> 
<jnlp 
  spec="1.5+" 
  codebase="http://peiportal/updater">
  <information> 
    <title>PEI Portal Application</title>
    <vendor>Petz Enterprises, Inc.</vendor>
    <offline-allowed/>
  </information>
  <security>
      <all-permissions/>
  </security>
  <resources>
    <jar href="PEIPortalLauncher.jar"/>
  </resources>
  <application-desc/>
</jnlp>

最佳答案

最近,当人们开始在他们的 Windows 机器上安装 Java 7 时,我们遇到了这个问题。我们在三台不同的 Linux 服务器上有 jar 文件的实例,发现我们可以从其中两台(一台远程服务器和一台本地服务器)下载应用程序,但不能从第三台(也是本地服务器)下载应用程序。

关键在于 jnlp 文件中的代码库规范。为了将 jar 文件成功下载到运行 Java 7 的 Windows 机器上,代码库必须指定“https:...”而不是“http:...”。

上面引用的远程服务器设置为安全服务器,因此专门设置了 https。两个本地服务器都没有安全设置,但工作的服务器恰好在代码库规范中使用了“https:”。更改另一台服务器上的 jnlp 使其也能正常工作。 (我们的 jnlp 是模板化的,并针对源代码控制之外的每个安装进行了修改,因此可能存在差异。)

您可能需要删除 Java 控制面板中列出的任何不工作的应用程序以与服务器上的新 jnlp 同步:进入 Java 控制面板(可从 Windows 控制面板获得)的常规选项卡,按“Internet 临时文件”下的“查看...”按钮,并删除任何不工作的应用程序。

关于自 JDK 1.7 以来,Java Web Start 已损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9623837/

有关自 JDK 1.7 以来,Java Web Start 已损坏的更多相关文章

  1. ruby - Time.to_i 是否总是以 UTC 返回自 EPOCH 以来的秒数? - 2

    无论时间在哪个时区表示,时区差异是否总是被忽略?直觉上,对于那些使用UTC+2的人来说,从EPOCH开始经过的秒数应该更高。然而,事实并非如此。 最佳答案 Epoch基于utc时区https://en.wikipedia.org/wiki/Unix_time它与您当前所在的时区无关。 关于ruby-Time.to_i是否总是以UTC返回自EPOCH以来的秒数?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.

  2. ruby-on-rails - Assets 管道损坏 : Not compiling on the fly css and js files - 2

    我开始了一个新的Rails3.2.5项目,Assets管道不再工作了。CSS和Javascript文件不再编译。这是尝试生成Assets时日志的输出:StartedGET"/assets/application.css?body=1"for127.0.0.1at2012-06-1623:59:11-0700Servedasset/application.css-200OK(0ms)[2012-06-1623:59:11]ERRORNoMethodError:undefinedmethod`each'fornil:NilClass/Users/greg/.rbenv/versions/1

  3. ruby - 如何计算自 Ruby 中给定日期以来的周数? - 2

    目标我正在尝试计算自给定日期以来周的距离,而无需跳过任何步骤。我更喜欢用普通的Ruby来做,但ActiveSupport无疑是一个可以接受的选择。我的代码我写了以下内容,这似乎可行,但对我来说似乎还有很长的路要走。require'date'DAYS_IN_WEEK=7.0defweeks_sincedate_stringdate=Date.parsedate_stringdays=Date.today-dateweeks=days/DAYS_IN_WEEKweeks.round2endweeks_since'2015-06-15'#=>32.57ActiveSupport的#weeks

  4. ruby - Ruby gems 的问题(损坏?)试图让指南针在 npm 中工作 - 2

    我不是Ruby专家,但想弄清楚发生了什么,因为我试图让指南针在节点应用程序中工作,但我的Ruby似乎坏了。打字:ruby--version让我:ruby2.1.1p76(2014-02-24revision45161)[x86_64-darwin13.0]我安装了Homebrew,之前遇到过Ruby版本的问题,但它似乎已安装并且可以正常工作。但是,当我使用gem输入请求时,出现此错误:$gem-hErrorloadingRubyGemsplugin"/Users/user_dir/.rvm/gems/ruby-2.1.1@global/gems/executable-hooks-1.3

  5. ruby - RVM screen 内部损坏 - 2

    我正在使用screen,甚至在rvm1.9.2之后并且有一个合适的.rvmrc我的服务器将仍然使用jruby。我的.screenrc包含shell#{SHELL}rvm信息显示jruby。好像rvm1.9.2没有任何效果,但它在screen外工作正常。 最佳答案 好的,我找到了solution.创建一个.screenrc文件并将此代码段放入其中:shell-$SHELLofficialinstructions省略破折号。 关于ruby-RVMscreen内部损坏,我们在StackOver

  6. ruby - RVM 系统范围的安装脚本 url 已损坏——什么是替换? - 2

    我的RVM系统级安装脚本损坏了,无论是LinodeStackScripts还是Chef-soloRecipes的形式。根据RVM网站上的说明,我的脚本以root身份执行以下命令以在系统范围内安装RVM:echo"InstallingRVMsystem-wide">>$logfilebash>/etc/profile上面的关键部分是urlhttp://bit.ly/rvm-install-system-wide。截至今天,2011年3月24日,此网址不再提供服务。它会导致GitHub404错误。RVM网站上的以下URL用于包含系统范围安装的说明:http://rvm.beginrescu

  7. ruby-on-rails - ActiveRecord 中的表名损坏错误 - 2

    在使用ActiveRecord时,我们偶尔会遇到PG::UndefinedTable错误。关联表名称有些损坏,我经常看到Cancelled附加到表名的末尾。例如:ActiveRecord::StatementInvalid:PG::UndefinedTable:ERROR:relation"fooCancell"doesnotexistActiveRecord::StatementInvalid:PG::UndefinedTable:ERROR:relation"Cancelled"doesnotexistActiveRecord::StatementInvalid:PG::Undef

  8. ruby - Homebrew 软件损坏 - "cannot load such file -- vendor/bundle/bundler/setup (LoadError)" - 2

    每次我尝试运行brew命令时,都会出现以下错误:/usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.3.7/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in`require':cannotloadsuchfile--vendor/bundle/bundler/setup(LoadError)from/usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.3.7/lib/ruby/2.3.0/r

  9. ruby - Bundle 安装在 ruby​​ 2.0 升级时损坏 - 2

    刚刚升级到ruby​​2.0/rails4.0并尝试在新的rails项目上运行bundleinstall。每当它遇到尚未安装的东西时,它就会吐出:Installingcoffee-rails(4.0.0.beta1)Errno::ENOENT:Nosuchfileordirectory-/usr/lib/ruby/gems/2.0.0/build_info/coffee-rails-4.0.0.beta1.infoAnerroroccurredwhileinstallingcoffee-rails(4.0.0.beta1),andBundlercannotcontinue.Makesu

  10. ruby - 如何将 Ruby 脚本的输出通过管道传输到 'head' 而不会出现管道损坏错误 - 2

    我有一个简单的Ruby脚本,看起来像这样require'csv'whileline=STDIN.getsarray=CSV.parse_line(line)putsarray[2]end但是当我尝试在这样的Unix管道中使用此脚本时,我得到10行输出,然后是一个错误:rubylib/myscript.rb(Errno::EPIPE)有没有一种方法可以以防止引发破损管道异常的方式编写Ruby脚本? 最佳答案 head在读取所有需要的数据后关闭标准输出流。您应该处理异常并停止写入标准输出。一旦标准输出关闭,以下代码将中止循环:while

随机推荐