2011-11-12 64 views
0

我想启动一个外部JAR,我有路径,存储在一个名为jarPath的字符串中。这个外部JAR在另一个名为natives的目录中有多个依赖关系。如何在设置类路径时从另一个JAR启动外部JAR?

哪有我,一个Java小程序中,交换这个JAR(如交换applet代码的执行,我的外部JAR的代码)。外部JAR的主类是zombie.engine.Lighting2。

+0

的依赖性是罐,和本机库由LWJGL 使用的主要类扩展BasicGame,其是从被称为slick.jar另一个JAR。最后,它使用OpenGL创建一个窗口。 – liamzebedee

回答

1

对于此次发布的,我会建议Java Web Start

原住民很容易使用JWS部署,如添加其它罐到运行时类路径。 applet和应用程序(JFrameJWindow等)可推出了采用JWS自成立以来1.2自由浮动,但是从插件2架构在Sun的JRE 1.6.0_10介绍,可以使用JWS部署嵌入式小程序。

通过这种途径来部署,你会:

  • 指定zombie.engine.Lighting2作为main-class(在JNLP启动文件)。
  • 使用jar元素添加依赖罐。
  • 把当地人JAR文件(一个罐子每个OS效果最好)的根目录,并将它们添加到OS专用resources元素。

与本地人以及在同一个JNLP中引用的任何其他Jars的罐子将需要数字签名,并且JNLP请求all-permissions


我希望能够把JAR离线加载..

offline-allowed元素。

offline-allowed element:可选的offline-allowed元素指示应用程序是否可以离线启动。

如果指定脱机允许的,那么该应用程序可以离线通过Java应用程序高速缓存查看器启动,并且可以创建快捷方式,其应用程序脱机启动。

..从部分information元素的JNLP。

..我想有一个自定义负载屏幕,

JWS提供了一个简单的GIF或JPEG基础飞溅,但好像你谈论更多..

..其中包含用于下载核心游戏和登录用户的自定义功能。

的安装程序。有关安装人员,请参阅ExtensionInstallerService。部分JNLP API。安装者可能经常需要的其他东西是DownloadService/DownloadService2PersistenceService

+0

我需要它像Minecraft的发射器,所以没有 – liamzebedee

+0

Minefcraft的发射器是什么样的? JWS发布的方式不等于什么? –

+0

好吧,我希望能够离线加载JAR,我想要有一个自定义加载屏幕,该加载屏幕包含用于下载核心游戏和登录用户的自定义函数。 – liamzebedee

0

你可以使用类java.lang.Runtime中的EXEC(字符串命令),给你传递的命令是Java的罐子/ path_of_your_jar_app -classpath/path_of_the_classpat_library,也许 您需要。