java - 分发 Java LWJGL 程序
问题描述
我目前正在 Intellij Idea 上学习LWJGL。我可以使用 IDE 的内置运行工具运行官方的 HelloWorld 代码,但我很想将我的代码压缩成一个 jar 文件。
我使用从这里下载的文件(捆绑 zip)关注了这个wiki 。
我通过 Intellij Idea 的“Artifacts”创建了一个 jar 构建系统,可以运行一个简单的程序,但仍然不是 LWJGL 程序。
我对需要包含的原生 jar 有点迷茫。
我是否需要将原生 jar 作为库包含在内,是否需要将它们复制到我的 jar 旁边?
请解释我,一个初学者,来构建这个罐子。我使用的 gradle 等工具越少越好,我想学习。
解决方案
我设法用终端构建了我的 jar。
我将解释的所有内容都在一个文件夹中工作,没有用于包的子文件夹等。(为简单起见)
您将需要一个最小的 ZIP 包,包括与您要分发的操作系统相对应的本地文件。
编译为
javac -cp ".;./lwjgl.jar;./lwjgl-opengl.jar;./lwjgl-glfw.jar" Main.java
(替换 ; by : 如果你在 unix 系统上)创建一个清单文件
myManifest.txt
,其中包含:
Manifest-Version: 1.0
Class-Path: ./lwjgl.jar ./lwjgl-glfw.jar ./lwjgl-opengl.jar ./lwjgl-natives-windows.jar
Main-Class: Main
不要忘记最后的空行。
- 将其与
jar -cvfm MyJar.jar .\myManifest.txt .\Main.class
您现在可以通过双击运行您的 jar,您将需要此文件夹中的所有 .jar 文件,可以删除 .java、.class 和清单文件。
推荐阅读
- python - 为什么 Python 将行号输出到 STDOUT
- sql - Oracle SQL 中的 DateAdd 函数
- python - 如何合并两个 Tkinter“文件”
- python - tensorflow 线性或增强树训练因“错误解析消息”而失败
- c++ - libc++abi.dylib:以 std::out_of_range 类型的未捕获异常终止:向量中止陷阱:6.任何帮助都会很棒,谢谢
- python - Pandas:如何有条件地对两个不同数据帧中的值求和
- git - “连接到主机 gitlab.com 端口 22:连接被拒绝”
- python - 我的脚本的可选命令行参数
- python - 如何在数据框中对值进行分组和求和?
- android - 下拉列表不是有效的视图实例(Angular+Nativescript)