【发布时间】:2013-01-10 03:53:09
【问题描述】:
我正在为 SPOJ 上的 TEST 问题提交 JAR 文件,但出现编译错误。
2
/bin/bash: line 5: mkdir: command not found
/bin/bash: line 6: META-INF/MANIFEST.MF: No such file or directory
/bin/bash: line 7: META-INF/MANIFEST.MF: No such file or directory
/bin/bash: line 8: META-INF/MANIFEST.MF: No such file or directory
zip warning: name not matched: META-INF
zip error: Nothing to do! (try: zip -r tested.zip . -i META-INF)
我的 JAR 文件的内容已经包含 META-INF/MANIFEST.MF 文件,所以我不明白编译错误。
$ jar tf Main.jar
META-INF/
META-INF/MANIFEST.MF
Main.class
以下是我用于创建 JAR 文件的 JAVA 代码。
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Main {
public static void main (String[] args) throws Exception {
BufferedReader r = new BufferedReader(new InputStreamReader(System.in));
String s;
while (!(s=r.readLine()).startsWith("42")) System.out.println(s);
}
}
在解决编译错误方面的任何帮助将不胜感激。
编辑:我正在使用 java 存档工具创建 jar。
jar -cfm Main.jar manifest Main.class
清单包含的地方
Main-Class: Main
【问题讨论】:
-
你能告诉我们主类的路径结构以及你从哪里尝试创建一个 jar 吗?@sidi
-
路径结构是什么意思?我已编辑问题以包含有关我如何创建 jar 的信息。
-
您是否尝试从 src 目录创建 jar? @sidi
-
我正在与源文件相同的目录中创建 jar。
-
第一个代码块来自哪里?是来自您运行的命令吗?如果是这样,命令是什么?是来自 SPOJ 的吗?如果是这样,请考虑将此作为错误报告给他们 - 似乎在那里运行的任何内容都已损坏并且无法找到
mkdir,因此其余部分都失败了。