1

一段时间以来,我一直在寻找运行lwjgl小程序的正确方法。
我尝试了使用appletloader 的老式方法,但这对我来说并不奏效。
所以替代方案是 webstart/jnlp。

有人可以向我解释一下我需要什么 .jnlp/.html ,因为我找不到可以广泛解释一切的相对示例。

我想我要的是一个教程(;.

4

2 回答 2

1

JNLP 部署的 Oracle 教程相当完整和简单。

http://docs.oracle.com/javase/tutorial/deployment/deploymentInDepth/jnlp.html

设置 JNLP 类似于 jar 中的清单,您必须指定主类、类路径、设置权限等。

于 2013-10-30T12:22:36.387 回答
0

这是我用来从我的 jnlp 加载 lwjgl 的。尤其要注意除了主要的 lwjgl 和 lwjgl-util jars 之外的最后的 nativelibs。LWJGL 将这些作为普通的本地库文件分发。您需要将它们打包在 jar 文件中 - 请参阅下文。

<?xml version="1.0" encoding="utf-8"?>
<!-- BitMinter Client JNLP file -->
<jnlp spec="6.0+" codebase="https://bitminter.com/client/"
      href="bitminter.jnlp">
  <information>
    <title>BitMinter Client</title>
    <vendor>BitMinter.com</vendor>
    <homepage href="https://bitminter.com/"/>
    <description>BitMinter</description>
    <description kind="short">Mining for the digital mint</description>
    <icon href="bitminter256x256.png" width="256" height="256"/>
    <icon href="bitminter64x64.png"   width="64"  height="64"/>
    <icon href="bitminter48x48.png"   width="48"  height="48"/>
    <icon href="bitminter32x32.png"   width="32"  height="32"/>
    <icon href="bitminter16x16.png"   width="16"  height="16"/>
    <icon kind="splash" href="bitmintersplash.png"/>
    <shortcut online="true">
      <desktop/>
      <menu submenu="BitMinter"/>
    </shortcut>
  </information>
  <security>
    <all-permissions/>
  </security>
  <update check="always" policy="always"/>
  <application-desc main-class="com.bitminter.client.Main"/>
  <resources>
    <java version="1.6+" initial-heap-size="40m" max-heap-size="800m"
          java-vm-args=""/>
    <jar href="bitminter.jar"/>
    <!-- long list of regular jars left out -->
    <jar href="lwjgl-2.8.4.jar"/>
    <jar href="lwjgl_util-2.8.4.jar"/>
  </resources>

  <!-- LWJGL Linux 64-bit native libraries -->
  <resources os="Linux" arch="amd64">
    <nativelib href="lwjgl-amd64-linux.jar"/>
  </resources>
  <resources os="Linux" arch="x86_64">
    <nativelib href="lwjgl-amd64-linux.jar"/>
  </resources>

  <!-- LWJGL Linux 32-bit native libraries -->
  <resources os="Linux" arch="x86">
    <nativelib href="lwjgl-x86-linux.jar"/>
  </resources>
  <resources os="Linux" arch="i386">
    <nativelib href="lwjgl-x86-linux.jar"/>
  </resources>

  <!-- LWJGL Windows 64-bit native libraries -->
  <resources os="Windows" arch="amd64">
    <nativelib href="lwjgl-amd64-win.jar"/>
  </resources>
  <resources os="Windows" arch="x86_64">
    <nativelib href="lwjgl-amd64-win.jar"/>
  </resources>

  <!-- LWJGL Windows 32-bit native libraries -->
  <resources os="Windows" arch="x86">
    <nativelib href="lwjgl-x86-win.jar"/>
  </resources>
  <resources os="Windows" arch="i386">
    <nativelib href="lwjgl-x86-win.jar"/>
  </resources>

  <!-- LWJGL MAC OS/X native libraries -->
  <resources os="Mac">
    <nativelib href="lwjgl-macosx.jar"/>
  </resources>
</jnlp>

LWJGL 本机库分布在每个操作系统的文件夹中,32 位和 64 位库集中在一起。我们需要为我们希望支持的每个操作系统制作 64 位和 32 位的 jar 文件,但 Mac OS X 除外,它在同一文件中有 32 位和 64 位。如果您不需要所有本机库,那么您只需要包含您确实需要的库。这是一个使用 ant 创建仅包含主要 lwjgl 本机库的 jar 的示例,省略了输入和开放部分。

<!-- LWJGL -->
<jar jarfile="${build.unsigned}/lwjgl-amd64-linux.jar">
  <fileset file="${lib}/native/lwjgl/linux/liblwjgl64.so"/>
</jar>
<jar jarfile="${build.unsigned}/lwjgl-x86-linux.jar">
  <fileset file="${lib}/native/lwjgl/linux/liblwjgl.so"/>
</jar>
<jar jarfile="${build.unsigned}/lwjgl-amd64-win.jar">
  <fileset file="${lib}/native/lwjgl/windows/lwjgl64.dll"/>
</jar>
<jar jarfile="${build.unsigned}/lwjgl-x86-win.jar">
  <fileset file="${lib}/native/lwjgl/windows/lwjgl.dll"/>
</jar>
<jar jarfile="${build.unsigned}/lwjgl-macosx.jar">
  <fileset file="${lib}/native/lwjgl/macosx/liblwjgl.jnilib"/>
</jar>

我们这里创建的jar文件就是上面jnlp加载的。

您还可以使用 jar 实用程序从命令行创建 jar 文件:

jar cf lwjgl-amd64-linux.jar linux/liblwjgl64.so
jar cf lwjgl-x86-linux.jar linux/liblwjgl.so
jar cf lwjgl-amd64-win.jar windows/lwjgl64.dll
jar cf lwjgl-x86-win.jar windows/lwjgl.dll
jar cf lwjgl-macosx.jar macosx/liblwjgl.jnilib
于 2013-10-31T19:15:47.167 回答