我有一个名为 ParseCSV-0.0.1-SNAPSHOT.jar 的 jar 文件,其内容是 -
- 元信息/
- META-INF/MANIFEST.MF
- 富/
- foo/ReadCSV.class
- META-INF/maven/
- META-INF/maven/测试/
- 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
这里出了什么问题。
最佳答案
为什么你有一个 . 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。
关于java - 执行jar文件时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27407361/