我正在linux中执行一个jar,它的工作正常,这是命令:
java -Djava.ext.dirs=/home/amira/workspace/srd/remap/libs fr.srd.remap.compiler.main.Main ~/Desktop/TDP/VQHFACCOI/VQHFACCOI.xml ~/Desktop/TDP/VQHFACCOI
因此,对于技术问题,我需要在Windows机器上运行它,所以这是使用的命令:
C:\Documents and Settings\walinbj\Desktop\remap-to-win>java -jar remap.jar -Djava.ext.dirs=Facture\libs fr.srd.remap.compiler.Main C:\Documents and Settings\walinbj\Desktop\remap-to-win\Facture\TDPFAC010.xml
我收到此错误Failed to load Main-Class manifest attribute from
remap.jar
答案 0 :(得分:2)
您的jar文件remap.jar不包含带有提供的主类选项的MANIFEST文件。您需要将主类指定为参数(您是为linux命令行执行的)并为jar提供类路径。你不能使用-jar选项。尝试更改以使用以下命令:
C:\Documents and Settings\walinbj\Desktop\remap-to-win>java -classpath remap.jar -Djava.ext.dirs=Facture\libs fr.srd.remap.compiler.Main C:\Documents and Settings\walinbj\Desktop\remap-to-win\Facture\TDPFAC010.xml
答案 1 :(得分:2)
来自javadocs:
设置应用程序的入口点
如果您的应用程序捆绑在JAR文件中,则需要一些方法 指示JAR文件中的哪个类是您的应用程序的条目 点。您提供此信息与主要类头 清单,具有一般形式:
Main-Class:classname值classname是类的名称 这是您的应用程序的切入点。
回想一下,入口点是一个具有签名方法的类 public static void main(String [] args)。
在清单中设置Main-Class标头后,然后运行 使用以下形式的java命令的JAR文件:
java -jar JAR-name在类中指定的主要方法 执行Main-Class标头。
你基本上需要在你的jar中有一个清单文件,并且你需要定义你的Main-Class属性:
清单 - 版本:1.0 创建者:1.7.0_06(Oracle Corporation) Main-Class:fr.srd.remap.compiler.main.Main
使用以下命令运行JAR文件时,Main的main方法执行:
java -jar MyJar.jar