标签: java-web-start

是否可以使用Java webstart执行.exe或dll?

我知道java webstart正在一个安全的沙箱下运行.是否可以在jar中包含.dll/.exe(或让webstart将其下载到本地计算机)然后执行它(使用Runtime.exec或进程等)

请指教.欢迎任何建议/评论!

java windows dll java-web-start

4
推荐指数
1
解决办法
5231
查看次数

Java Web Start应用程序启动缓慢

我正在使用Netbeans IDE开发一个Java Web Start应用程序,该应用程序将从Web启动,然后使用EclipseLink JPA访问远程MySQL数据库.我正在使用Swing应用程序框架来管理我的应用程序的生命周期.

当我从Netbeans启动应用程序时,我的应用程序加载大约需要7秒钟,但是当我使用Netbeans IDE创建Web Start分发包(包含JAR和JNLP文件)时,启动大约需要60秒.此外,每次启动应用程序时,"验证应用程序"/"下载应用程序"进度条窗口似乎都会运行,即使已经缓存了它的副本.

从用户的角度来看,首先看到我的启动画面1到2秒,然后"验证应用程序"/"下载应用程序"进度条窗口持续5到20秒,然后在应用程序启动前40秒内没有任何内容.

编写应用程序代码,以便它应该在JPA开始加载持久性单元之前显示自己(所以我怀疑这是问题),但我想我会提到它以防万一.


更新:方法createEntityManagerFactory使用Web Start缓慢

进一步研究后,我发现当我从Netbeans运行应用程序或者当我远程登录到我的服务器时,方法createEntityManagerFactory--这是EclipseLink连接到MySQL所必需的 - 大约需要5秒钟才能执行在那里启动JNLP,但是当我通过网络运行应用程序时,同一行需要35秒(大大延迟启动).有趣的是,随着我的互联网连接速度变差,这一次变得更糟.下面是我正在使用的JNLP文件的副本.

有谁知道可能导致这种延迟的原因是什么?

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
Run Code Online (Sandbox Code Playgroud)

MyApp我的应用程序供应商我的应用程序描述MyApp

java startup java-web-start

4
推荐指数
1
解决办法
6759
查看次数

Java Web Start:如何摆脱警告图标?

我的java web start应用程序总是在窗口的右上角显示一个警告图标.这就是我所说的:

警告图标

我想摆脱它.我试图签署我的应用程序而不购买任何证书,只是使用jarsigner,但图标仍然存在.另一方面,如果我根本不签署应用程序,那么图标也在那里.确切地说,我必须说我的应用程序在基本沙箱中运行.

我可以摆脱这个丑陋的图标吗?我不喜欢它,因为我会针对公众和普通观众,有些人可能会误解其含义.从权威机构购买证书是否有助于删除此图标?

如果它与我的问题有关,这是我的jnlp文件:

    <?xml version="1.0" encoding="UTF-8"?>
    <jnlp spec="1.0+" 
        codebase="http://localhost:8080/bin/" 
        href="xxx-webstart.jnlp">
        <information>
            <title>xxx.com</title>
            <vendor>xxx.com</vendor>
        </information>
        <resources>
            <!-- Application Resources -->
            <j2se version="1.6+"
                  href="http://java.sun.com/products/autodl/j2se"/>
            <jar href="xxx.jar" main="true" />

        </resources>
        <application-desc
             name="xxx.com"
             main-class="com.xxx.client.swing.main.MainClientSwing"
             width="400"
             height="400">
         </application-desc>
         <update check="always" policy="always"/>
    </jnlp>
Run Code Online (Sandbox Code Playgroud)

java certificate java-web-start

4
推荐指数
1
解决办法
778
查看次数

如果通过双击 JNLP 文件启动 JAVA Web Start 应用程序,如何允许它访问 macOS Catalina 上的文件系统?

使用 macOS Catalina 时,我们遇到以下问题:当应用程序通过双击 JNLP 文件启动时和通过双击安装在桌面上的快捷方式启动时,打开 Java Web Start 应用程序的行为不同。

在第一种情况下(双击下载的 JNLP 文件)应用程序打开时没有访问文件系统的权限 - 尝试以 JAVA 代码获取用户桌面目录中的目录列表总是返回 null。不会向用户显示任何要求访问文件系统的权限的提示。这不是预期的行为。

在第二种情况下(从桌面快捷方式启动),首先提示用户应用程序正在尝试访问文件系统并要求获得许可。当用户允许应用程序访问文件时 - 应用程序正确读取用户的桌面目录。这是预期的行为。

有解决方法吗?如果通过双击JNLP文件启动Catalina上的Web启动应用程序,我们如何使Web启动应用程序访问文件系统(这是应用程序至少第一次启动的方式)?

java macos jnlp java-web-start

4
推荐指数
1
解决办法
1万
查看次数

java web start 无法找到 java 运行时

您好,我正在尝试运行 javaws,但它提示:要打开此 Web Start 应用程序,您需要下载 Java 运行时环境。

我确定 JRE 已安装,也许 javaws 找不到它,我该如何解决这个问题?

Johns-MacBook-Pro:~ johnmactavish$ java --version
java 13.0.2 2020-01-14
Java(TM) SE Runtime Environment (build 13.0.2+8)
Java HotSpot(TM) 64-Bit Server VM (build 13.0.2+8, mixed mode, sharing)
Johns-MacBook-Pro:~ johnmactavish$ javaws
No Java runtime present, requesting install.
Unable to locate a Java Runtime to invoke.
Johns-MacBook-Pro:~ johnmactavish$ 
Run Code Online (Sandbox Code Playgroud)

java-web-start

4
推荐指数
1
解决办法
1万
查看次数

仅复制ant中不存在的文件

我正在将我的项目部署到要使用java Web Start部署的Web服务器.但是,Web Start使用修改日期来确定是否再次下载资源(默认情况下).

我想要的是一种只部署那些尚不存在的(jar)文件的方法.这可以通过在我的所有罐子上都有构建版本号来实现,因此具有相同名称的2个罐子具有相同的内容.

笔记:

  • 由于从svn或常春藤下载,jar修改日期将始终在构建中更新(这就是我遇到此问题的原因)
  • 有一种方法可以使用sun的下载servlet,更多的文件等来实现这一点,但我很懒,不需要它,这个(更简单)的解决方案从长远来看会更加强大

java ant copy java-web-start

3
推荐指数
1
解决办法
1613
查看次数

Java Launch在第二次运行时失败:java.lang.NullPointerException

我下载了.jnlp文件并运行它.它运行正常.我关闭它并重新启动它运行正常.

但是在第三次尝试时,它总是抛出java.lang.NullPointerException,应用程序将无法启动.

如果我重新启动计算机,它会再次运行.我怎样才能解决这个问题 ?

java.lang.NullPointerException
    at com.sun.javaws.security.SigningInfo.overlapSigners(Unknown Source)
    at com.sun.javaws.security.SigningInfo.getCertificates(Unknown Source)
    at com.sun.javaws.LaunchDownload.checkSignedResourcesHelper(Unknown Source)
    at com.sun.javaws.LaunchDownload.checkSignedResources(Unknown Source)
    at com.sun.javaws.Launcher.prepareResources(Unknown Source)
    at com.sun.javaws.Launcher.prepareAllResources(Unknown Source)
    at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
    at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
    at com.sun.javaws.Launcher.launch(Unknown Source)
    at com.sun.javaws.Main.launchApp(Unknown Source)
    at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
    at com.sun.javaws.Main$1.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Run Code Online (Sandbox Code Playgroud)

java jnlp java-web-start

3
推荐指数
1
解决办法
2350
查看次数

Java上的Java Web启动

我可以在iPad上运行Java应用程序(Java Web Start)吗?

看起来这是不可能的,但有人建议使用Cloud Browse(我找不到的应用程序)来运行Java.

有解决方案吗

UPDATE:云浏览器是一个应用程序可以在App Store,但它已被删除我的苹果.Cloud Browse将在外部处理网站,然后将网站内容流式传输到iPad屏幕(类似于视频流).

java java-web-start ipad ios

3
推荐指数
1
解决办法
1万
查看次数

Java Web Start相对于Java Web应用程序有哪些优势?

我试图了解使用Java Web Start的用例是什么.它比Web应用程序有什么优势.Java Web开始今天仍然有用吗?

java java-web-start

3
推荐指数
1
解决办法
1890
查看次数

如何通过JNLP传递其值可能更改为已签名的Java RIA(applet,webstart)的任意系统属性?

由于严格的安全限制7u51,在一月份到期,我想我签字JNLP文件.

我们的应用程序需要设置某些自定义系统属性,其中一些属性的值会根据applet的部署位置而有所不同.我想避免为每个部署重新签名包含JNLP模板的JAR.

放入<property name="my-prop" value="*"/>JNLP模板的天真方法不起作用.

即使<property name="my-prop" value="fixed-value"/>在模板中,我有时会得到一个对话框,说"此应用程序将执行不安全的操作.你想继续吗?":

不安全的操作安全对话框

将系统属性传递给签名的Java RIA的正确方法是什么?

java jnlp applet java-web-start signed-applet

3
推荐指数
1
解决办法
2239
查看次数

标签 统计

java-web-start ×10

java ×9

jnlp ×3

ant ×1

applet ×1

certificate ×1

copy ×1

dll ×1

ios ×1

ipad ×1

macos ×1

signed-applet ×1

startup ×1

windows ×1