首页 文章

如何在不双击JNLP的情况下自动启动java web启动[重复]

提问于
浏览
6

这个问题在这里已有答案:

我有一个java applet应用程序,我们的客户可以通过我们的网站访问它 . 由于Microsoft edge和chrome停止支持java插件,我们将applet转换为通过JNLP和Java Web Start启动,不幸的是,在两个浏览器中,JNLP已下载,客户应双击该文件以启动Java Web Start .

我们的客户对这种行为感到非常失望,我正试图找到解决这个问题的方法 .

1 回答

  • 9

    可能的解决方案

    1) 更改浏览器中的行为,询问用户点击 JNLP link 时要执行的操作 . 然后用户可以选择 Open with: Java web start launchersave file .

    edit 它's working in Firefox but it doesn'与Chrome合作:查看相关的错误报告10877open issues

    2) 为执行的用户提供脚本
    javaws https://example.com/your_application.jnlp

    演示示例(从Oracle教程中获取的应用程序链接:Running a Java Web Start Application

    javaws https://docs.oracle.com/javase/tutorialJWS/samples/deployment/NotepadJWSProject/Notepad.jnlp
    

    这将打开一个简单的Java应用程序 .

    edit 对于无所畏惧的Chrome,有一个hacky解决方案 .

    • 关闭Chrome,并记住要始终制作下一步中更改的文件的副本;-)

    • 在Chrome库中找到 chrome.[so|dll] 字节 jnlp 并将其修补为例如 jnl-

    • 在您的Chrome用户 Profiles 目录中找到文件 Preferences 并将其修改为...

    .

    "download": {
        ...
        "extensions_to_open": "jnlp",
        ...
    },
    

    下次单击指向JNLP文件的链接时,它将自动打开(使用分配的应用程序打开此文件类型,通常是 javaws ) .

    在查看源pref_names.cc后找到该属性 . 但Chrome将扩展名 jnlp 视为dangerous,这也是我们需要修补库的原因 .

相关问题