【问题标题】:Executable Jar Can't Run? (Without permissions to access the code)可执行 Jar 无法运行? (无权访问代码)
【发布时间】:2011-10-20 23:45:08
【问题描述】:

我必须为我正在学习的课程编写一个程序,他给了我们一个可执行的 jar 来运行并将我们的结果与他的比较。

但是,即使在阅读了一些其他相关主题之后,我也无法运行它。除了我无法提取的罐子外,我绝对没有其他任何东西。

我只是想以某种方式运行它——无论是在 shell 中还是在 Eclipse 中。

== 对不起,缺乏细节: 它说我缺少 Main-Class 清单属性。我知道当发生这种情况时,您应该进入清单并四处寻找,我确实注意到清单不包含该属性。我添加了它,但是每当我尝试使用 jar uvf 重新添加它时,它都会忽略它。 “jar uvf EditDistance.jar META-INF/ 忽略条目 META-INF/ 忽略条目 META-INF/MANIFEST.MF "

请帮忙? :/

【问题讨论】:

  • 你试过“java -jar executable.jar”吗?你有什么问题?
  • 是的,抱歉,我刚刚添加了更多细节!

标签: java eclipse jar executable


【解决方案1】:

你试过了吗:

java -jar filename.jar

?

你没有说你尝试了什么,或者你遇到了什么错误......

【讨论】:

  • 抱歉,我刚刚补充了一些细节
【解决方案2】:

如果清单没有指明“主”类,但你知道那个类是什么,那么就这样做:

java -cp filename.jar com.example.MainClass

如有必要,您可以使用任何程序特定的参数。如果您不知道主要课程,那么您需要询问给您罐子的人。

【讨论】:

    【解决方案3】:

    您可能没有获得可执行的 jar。您可能必须使用 jtahlborn 的解决方案。如果你不知道 com.example.MainClass 用什么,你可以试试

    jar -tf EditDistance.jar
    

    这将为您提供 jar 中所有文件的列表。希望一个被称为 EditDistance.class 或 Main.class(带有一些前缀,因此:“com/example/EditDistance.class”)。

    如果您看到类似的内容,只需将斜杠转换为点,删除 .class 后缀,然后将其插入 jtahlborn 的解决方案:

    java -cp EditDistance.jar com.example.EditDistance
    

    【讨论】:

    • 谢谢,这正是我所需要的
    【解决方案4】:

    前段时间我也遇到过同样的问题。阅读此page,在“使用 JAR 工具设置入口点”段落。

    尝试执行此命令:jar cfe app.jar MyApp MyApp.class e 选项指定应用程序入口点。

    地点:

    • app.jar 是您的 jar 的名称

    • MyApp是入口点

    • MyApp.class 是您的班级名称。

    最后,输入这个命令来执行jar:java -jar app.jar

    【讨论】:

      猜你喜欢
      • 2015-08-03
      • 1970-01-01
      • 2015-01-16
      • 2018-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-03
      • 1970-01-01
      相关资源
      最近更新 更多