【问题标题】:Error in executing a jar file执行 jar 文件时出错
【发布时间】:2015-02-09 00:32:29
【问题描述】:

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

  • 元信息/
  • META-INF/MANIFEST.MF
  • 富/
  • foo/ReadCSV.class
  • META-INF/maven/
  • META-INF/maven/Test/
  • META-INF/maven/Test/ParseCSV/
  • META-INF/maven/Test/ParseCSV/pom.xml
  • META-INF/maven/Test/ParseCSV/pom.properties

主类是 ReadCSV.class,它采用 CSV 文件 (C:\Testting\ValidaResults.csv) 作为输入参数。我正在尝试通过运行以下命令从命令提示符执行 jar 文件-

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

但我收到一条错误消息 -

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

这里出了什么问题。

【问题讨论】:

标签: java jar


【解决方案1】:

您的 JAR 文件包含 foo/ReadCSV.class,但您的 MainClass 设置为 foo.ReadCSVTest。您需要修复 META-INF/MAINIFEST.MF 中的 Main-Class 属性

【讨论】:

    【解决方案2】:

    为什么你有一个 . 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。

    【讨论】:

    • 我在pom文件中弄错了,把主类设置错了,所以出问题了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-29
    • 2017-08-21
    • 1970-01-01
    • 1970-01-01
    • 2011-02-02
    • 2023-03-21
    • 1970-01-01
    相关资源
    最近更新 更多