繁体   English   中英

Jar文件的清单类路径

[英]Manifest Classpath for Jar files

我创建了一个小型应用程序,其中包含一个名为JavaFX的外部程序包。 该软件包包含4个jar文件。 当我从命令行到当前目录创建一个jar时,该jar执行OK(从4个jar中导入类)。 但是,当我从另一个目录移动该jar文件时,该文件将不会执行。 换句话说,创建的jar似乎无法找到这些jar文件(JavaFX jar)中的类?

以下是清单文件:

Main-Class: QuizMenu    
Class-Path:
 deploy.jar
 javaws.jar
 jfxrt.jar
 plugin.jar

文本文件在jar的每一行的开头和结尾确实包含一个空格,最后一行的最后一个回车符(与最后一行分开的每一行都不包含回车符)。 Main-Class:标头也可以正常工作。 (只是classpath似乎不起作用)。

谁能确定文件有问题?

建议

您不应在mainifest文件中引用任何这些jar文件( deploy.jar javaws.jar jfxrt.jar plugin.jar )。


JavaFX打包工具

相反,您应该使用支持JavaFX的部署工具,例如:

  1. javafxpackager
  2. JavaFX ant任务
  3. JavaFX Maven插件
  4. JavaFX Gradle插件
  5. NetBeans JavaFX项目
  6. 将来可能会出现一些其他兼容工具。

以上工具将适当地打包您的应用程序以使用JavaFX。


背景

如果您尝试将JavaFX,Java部署和Java插件jar文件与应用程序捆绑在一起,那么当您在其他Java版本(例如Java 8或9)上运行应用程序时,它可能无法在所有将来的发行版中正确地用作JavaFX。将被定义为Java运行时平台的一部分,而不是作为单独安装的库或可以与独立于Java运行时其余部分的应用程序捆绑在一起的库。

此外,诸如jfxrt.jar之类的jar文件依赖于众多本机动态链接的库(.so,.dll等),这些库因平台而异,并且具有32位和64位变体。 jfxrt.jar的版本必须与基础本机库的版本匹配(并且相应平台的基础本机库必须对动态负载链接器可用),以便jfxrt.jar(例如JavaFX)正常运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM