繁体   English   中英

运行jar不起作用

[英]Running jar doesn't work

我们正在尝试用我们的类文件制作一个jar,但是它不起作用。 jar文件的创建可以与

jar -cvfm client.jar Mainfest.txt /home/pi/Desktop/Client/*.class

但是,当我们尝试运行它时,会出现classnodefferror。 我们的应用程序使用2个属性文件-一个用于数据库,一个用于log4j。

目录和包含的一个子目录如下所示:请参阅链接 -image nr。 1和2

影像编号1

影像编号2

当我们尝试执行jar文件时,它显示此错误:(请参见链接图像3)

图片3

通常,当我们运行它时,我们会键入(请参阅链接图像4)

图片4

清单文件看起来像这样(请参见链接图像5)

图片4

我们尝试了不同的解决方案,例如更改路径,忽略环境(-D)等,但我们真的无法弄清楚我们做错了什么。

这里有几个问题:

  1. 最好在清单中明确提及每个包含的JAR文件-像*这样的通配符不能很好地工作
  2. 您不能在JAR文件中使用绝对路径-而是使用相对路径

因此,1)将Manifest.txt更改为

Main-Class: Client
Class-Path: . includes/log4j-1.2.17.jar includes/mysql-connector-java-5.1.33-bin.jar includes/sqlitejdbc-v056.jar includes/RXTXcomm-2.2pre2.jar  includes/..... (repeat for all pi4j JAR files)

并且,2)将您需要的所有JAR文件(包括RXTXcomm-2.2pre2.jar和pi4j JAR)复制到include /子目录中,并将命令更改为

jar -cvfm client.jar Manifest.txt *.class *.properties includes/*

暂无
暂无

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

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