执行jar文件时出错

时间:2014-12-10 17:37:04

标签: java jar

我有一个名为-ParseCSV-0.0.1-SNAPSHOT.jar的jar文件,其内容为 -

  • META-INF /
  • META-INF / MANIFEST.MF
  • 富/
  • 富/ ReadCSV.class
  • META-INF /行家/
  • META-INF /行家/测试/
  • META-INF /行家/测试/ ParseCSV /
  • META-INF /行家/测试/ ParseCSV / pom.xml的
  • META-INF /行家/测试/ ParseCSV / pom.properties

主类是ReadCSV.class,它将CSV文件(C:\ Testting \ ValidaResults.csv)作为输入参数。我试图通过运行以下命令 -

从命令promt执行jar文件
java -jar . ParseCSV-0.0.1-SNAPSHOT.jar "C:\Testting\ValidationResult.csv"

但我收到错误的说法 -

Error: Could not find or load main class foo.ReadCSVTest

这里出了什么问题。

2 个答案:

答案 0 :(得分:1)

为什么你有。 jar和ParseCSV之间..?

首先尝试:

java -jar ParseCSV-0.0.1-SNAPSHOT.jar "C:\Testting\ValidationResult.csv"

如果这不起作用,请尝试:

java -cp ParseCSV-0.0.1-SNAPSHOT.jar;. foo.ReadCSV "c:\Testting\ValidationResult.csv" 

如果这样可行,那么我会检查META-INF / MANIFEST.MF文件以找出类路径是什么样的,以及Main-Class的值是什么。它似乎运行ReadCSVTest而不是ReadCSV。

答案 1 :(得分:0)

您的JAR文件包含foo / ReadCSV.class,但您的MainClass设置为foo.ReadCSV 测试。您需要修复META-INF / MAINIFEST.MF

中的Main-Class属性