标签: jnlp

在java web start中,jar文件下载到哪里?

根据Java web start,jar文件在客户端机器上下载了什么?

java jnlp java-web-start

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

JNLP FileSaveService打开文件打开对话框

嗨,我正在尝试从Java Webstart应用程序中保存文件.

public class Main {
   public static void main(String[] args) {
      try {
         FileSaveService fos = (FileSaveService) ServiceManager.lookup("javax.jnlp.FileSaveService");
         //open Dialog
         FileContents fc = fos.saveFileDialog("c:/data", null, new ByteArrayInputStream("Hallo Welt".getBytes()), "name.txt");
         System.out.println("FileContents: " + fc);
      } catch (UnavailableServiceException e) {
         System.err.println("***" + e + "***");
      } catch (IOException e) {
         System.err.println("***" + e + "***");
      }
      //wait a minute
      try {
         Thread.sleep(10000);
      } catch (InterruptedException e) {
      }
      System.exit(0);
   }
}
Run Code Online (Sandbox Code Playgroud)

一切正常,除了出现的对话框看起来像一个"打开"文件对话框,而不是像"保存"文件对话框:

FileDialog的

任何帮助,将不胜感激.

jnlp swing java-web-start

8
推荐指数
1
解决办法
902
查看次数

无法使用Java 8调试JNLP

我已经尝试过所有方法

运行应用程序

1)javaws -J-Xdebug -J-Xrunjdwp:transport = dt_socket,server = y,suspend = n,address = 9123 My.jnlp

2)在JAVA_TOOL_OPTIONS中设置相同的选项

3)在JAVAWS_VM_ARGS中设置相同的选项

4)在Java控制面板中设置相同的选项(不带-J)

尝试使用或不使用Xnoagent时使用相同的选项

每一个方式,在我尝试从eclipse连接后这样做 - 它无法连接.当我做netstat -a时 - 它没有显示任何人在9123上收听.

我在Windows 10上

java eclipse debugging jnlp java-web-start

8
推荐指数
1
解决办法
653
查看次数

如何确保jnlp在64位jvm上运行

我有一个JNLP applet,它运行在安装了32位和64位JVM的64位计算机上.JNLP必须在64位JVM上运行才能正确执行.有没有办法强制使用64位JVM?

java 64-bit jnlp applet

7
推荐指数
1
解决办法
4732
查看次数

如何将jnlp与OSX停靠图标捆绑在一起; 这在java首选项中似乎不再可能

该选项打包JNLP作为一个应用程序不会出现在甲骨文的JDK 7 Java首页存在,因为它在苹果所做的陈述在这里

OS X桌面与Java Web Start的集成允许用户从任何Java Web Start应用程序创建本地应用程序包.Java Preferences中的Shortcut Creation设置控制在打开Java Web Start应用程序时是否提示用户创建应用程序包.捆绑的Java Web Start应用程序具有本机应用程序包的所有优点,在"OS X应用程序包"中对此进行了描述.

为了解决这个问题,我使用Automator创建一个.app,它运行一个执行JNLP的shell脚本.这允许我使用应用程序图标,但我所有配置停靠图标的尝试都失败了.

我尝试使用iconutil并添加到该Resources文件夹创建.icns文件,然后Contents/Info.plist在该字段下指定.icns文件,"Icon File"但在运行应用程序时我仍然在Dock中获得java咖啡杯图标.

我尝试过的另一件事是将-Xdock:icon=icon.jpg参数传递给javaws但是这看起来只适用于常规的java程序.

java macos jnlp

7
推荐指数
1
解决办法
2258
查看次数

InputStream和ByteArrayInputStream之间有什么区别?

以下代码摘自核心Java卷1的java Web start章节.

     ByteArrayOutputStream out = new ByteArrayOutputStream();
     PrintStream printOut = new PrintStream(out);
     printOut.print(panel.getText());
     //panel.getText() return a String
     InputStream data = new ByteArrayInputStream(out.toByteArray());
     FileSaveService service = (FileSaveService) ServiceManager
           .lookup("javax.jnlp.FileSaveService");
     service.saveFileDialog(".", new String[] { "txt" }, data, "calc.txt");
Run Code Online (Sandbox Code Playgroud)

创建了四个对象,流重定向三次.有没有其他方法可以使用jnlp api将数据写入文件?InputStream和ByteArrayInputStream之间有什么区别?

java jnlp inputstream bytearrayinputstream

7
推荐指数
1
解决办法
9845
查看次数

有没有办法在没有证书的情况下做JNLP?

我有一个内部唯一的应用程序,我历史上自签名.使用最新版本的Java,不推荐使用JNLP的自签名.我也遇到过使用Java 7U25从自签名应用程序打开套接字的奇怪问题(但是当从命令行作为普通jar运行时工作正常).

有没有办法在没有签名的情况下进行JNLP?鉴于它是一个内部唯一的应用程序,签署是没有必要的(对我来说).当真的没必要时,我真的不想花钱购买证书.

java jnlp certificate

7
推荐指数
2
解决办法
8808
查看次数

使用Eclipse IDE在浏览器中运行JavaFx Application

我是JavaFx的新手.我发现每个教程都使用NetBeans IDE for JavaFx.但我正在使用Eclipse.我在Eclipse中学习并开发了许多独立的javafx应用程序,但现在我想开发在浏览器上运行的JavaFx应用程序(与applet相同).我搜索过但发现所有材料都只使用NetBeans IDE而不是eclipse.当我们选择Project Properties中的Run in Browser选项时,NetBeans会自行生成jnlp,jar和html文件.对于Eclipse IDE,我该怎么办?我在eclipse中为Javafx使用e(fx)clipse插件.请尽快提供一些资料

eclipse jnlp javafx-2

7
推荐指数
1
解决办法
6313
查看次数

JNLP没有在Java 1.8客户端上创建桌面快捷方式

我有一个JNLP,它在Java 1.7下为我的应用程序创建了一个桌面快捷方式.但是,当我在Java 1.8下运行它时,我不再获得桌面快捷方式.发生了什么变化?

这是我在Windows XP,Windows 7和OS X Yosemite下测试的一个示例,它们都运行Java 1.7并且它为这三个创建了桌面快捷方式,但是在运行Java 1.8的Windows 7和Windows 8上我都没有得到桌面快捷方式.为了清楚起见,该应用程序显示并正常工作,只是没有创建桌面快捷方式.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE jnlp PUBLIC "-//Sun Microsystems, Inc.//DTD JNLP 1.5//EN" "http://www.netbeans.org/jnlp/DTD/jnlp.dtd">
<jnlp codebase="http://services.SportsOptions.com/test/" href="test.jnlp">
  <information>
    <title>test</title>
    <vendor>test.com</vendor>
    <homepage href="http://www.test.com/"/>
    <description>Test</description>
    <icon href="splash.png" kind="splash"/>
    <offline-allowed/>
    <shortcut online="true">
      <desktop/>
      <menu submenu="test" />
    </shortcut>
  </information>
  <information os="Linux">
    <icon href="DesktopIcon.ico" kind="shortcut" />
  </information>
  <information os="Windows">
    <icon href="DesktopIcon.ico" kind="shortcut" />
  </information>
  <information os="Mac">
    <icon href="DesktopIcon.icns" kind="shortcut" />
  </information>
  <resources locale="" os="">
    <j2se href="http://java.sun.com/products/autodl/j2se" initial-heap-size="32m" max-heap-size="512m" version="1.6+"/>
    <jar download="eager" href="Test.jar" main="false" version=""/>
  </resources> …
Run Code Online (Sandbox Code Playgroud)

java jnlp java-8

7
推荐指数
1
解决办法
3531
查看次数

如何在浏览器和Java Web Start applet之间进行通信

现在的情况

我们目前使用applet执行一些操作,然后重定向当前页面.在其核心中,您可以看到applet如下:

public class ExampleApplet extends Applet {
    @Override
    public void init() {
        Button redirect = new Button("Redirect");
        this.add(redirect);
        final String target = this.getParameter("targetPage");
        redirect.addActionListener((ActionEvent e) -> {
            try {
                getAppletContext().showDocument(new URL(target), "_parent");
            } catch (MalformedURLException ex) {}
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

以最简单的方式调用applet:

<applet code="com.example.applet.ExampleApplet.class" archive="${appletUrl}" width="100" height="30">
    <param name="targetPage" value="http://localhost:8080/applet/"/>
</applet><br/><br/>
Run Code Online (Sandbox Code Playgroud)

其中${appletUrl}返回applet JAR的位置.

所以applet只不过是一个调用getAppletContext().showDocument(new URL(target), "_parent");刷新当前页面的简单按钮.这已经很长时间正确地完成了它的工作.现在这是问题所在.

移民

众所周知,Chrome不支持Applets.从那时起搁置一段时间IEFireFox仍然支持他们.在2016年底,他们也将不再支持他们.所以我们决定使用JWS和迁移applet JNLP.

迁移此简单重定向按钮示例将提供以下html代码段和JNLP文件:

<a href="${jnlpUrl}">Launch JNLP</a> …
Run Code Online (Sandbox Code Playgroud)

java browser jnlp applet java-web-start

7
推荐指数
1
解决办法
6828
查看次数