一段时间以来,我一直在寻找运行lwjgl小程序的正确方法。
我尝试了使用appletloader 的老式方法,但这对我来说并不奏效。
所以替代方案是 webstart/jnlp。
有人可以向我解释一下我需要什么 .jnlp/.html ,因为我找不到可以广泛解释一切的相对示例。
我想我要的是一个教程(;.
一段时间以来,我一直在寻找运行lwjgl小程序的正确方法。
我尝试了使用appletloader 的老式方法,但这对我来说并不奏效。
所以替代方案是 webstart/jnlp。
有人可以向我解释一下我需要什么 .jnlp/.html ,因为我找不到可以广泛解释一切的相对示例。
我想我要的是一个教程(;.
JNLP 部署的 Oracle 教程相当完整和简单。
http://docs.oracle.com/javase/tutorial/deployment/deploymentInDepth/jnlp.html
设置 JNLP 类似于 jar 中的清单,您必须指定主类、类路径、设置权限等。
这是我用来从我的 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