【问题标题】:Compilation error in submitting a JAR file on SPOJ在 SPOJ 上提交 JAR 文件时出现编译错误
【发布时间】: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,因此其余部分都失败了。

标签: java jar


【解决方案1】:

尝试通过 Java (Hotspot 8u) 选项而不是 JAR (JavaSE6) 选项提交解决方案。这在我的情况下有效!

在任何情况下,您都应该先尝试Ideone您的解决方案以验证它是否完美运行,然后将其提交给 SPOJ 评委

【讨论】:

  • 我还没有尝试过,但我相信这应该可以。这个问题与我无关,但可能与其他人有关:-)。
  • 我想补充一点,即将从 Spoj 中删除对 JAR 的支持。您应该提交 Java 解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-12-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多