从JNLP文件获取单个资源

时间:2016-09-26 14:29:34

标签: java url java-web-start jnlp

如果我打开.jnlp文件,我发现它只是一个包含.jar文件和其他资源(如图片)等元素的xml。我现在可以通过写:

来获取jnlp文件
final URL jnlp = new URL("http://<host>:<port>/<file>.jnlp");
final ReadableByteChannel channel = Channels.newChannel(jnlp.openStream());
final FileOutputStream stream = new FileOutputStream("<file>.jnlp");
stream.getChannel().transferFrom(channel, 0, Long.MAX_VALUE);

我想解析.jnlp (使用标准的xml解析器),并在不使用javaws命令的情况下从服务器获取特定文件。我想这个网址是codebasehref元素的jar属性和icon值的一些串联..

任何人都知道这可能是我的下一步应该是什么?

1 个答案:

答案 0 :(得分:0)

自己解决了 - 它只是将codebase的网址与href连接起来!

我在测试时输入了错误的字符串./ rant

例如:

从下方test.jar获取.jnlp您使用网址http://<host>:<port>/dir/test.jar

<jnlp spec="1.5+"
  version="8.0"
  codebase="http://<host>:<port>/dir" ... >
    ...
    <resources>
        <j2se version="1.7+" initial-heap-size="64m" max-heap-size="256m"/>
        <jar href="test.jar" download="eager"/>
    ...