gpt4 book ai didi

java - Jar 文件在提取并重建时不起作用

转载 作者:行者123 更新时间:2023-12-01 13:18:17 25 4
gpt4 key购买 nike

我会尽力做到简洁明了。

我有一个运行良好的项目的 jar 文件。现在我需要对应用程序进行一些更改,因此我使用此命令提取了该 jar。

  jar xf jwire.jar

提取的文件是

  • META-INF(包含 list 文件)
  • 资源(包含应用程序中使用的图片)
  • Jwire(包含类和 java 文件)
  • .classpath
  • .项目
  • manifest.mf(另一个 list 文件,其中包含主类的其他路径)

根据某人的建议,我还在这里添加了两个空文件夹 src 和 bin 。现在我尝试使用所有这些文件夹再次创建 jar 文件。 在不进行任何类型的更改的情况下,我尝试使用以下内容重建此 jar

      jar cf newjar.jar G:\Project1\project 

注意:- 我猜这是构建文件的正确方法。如有不对请指出。

G:\Project1\project 是上述文件和文件夹的路径。使用此创建的 jar 大小为 729kb,而之前的 jar 大小为 711Kb,当我使用以下命令运行它时。

     java -jar newjwire.jar

我收到以下消息

        no main manifest attribute, in newjwire.jar

接下来我尝试提取这个 newjwire.jar 文件以查看其 list 文件。我得到了包含 MANIFEST.MF 文件的 META-INF 文件夹。它没有主类的路径,所以我编辑了它并使用以下命令将修改后的文件放回原处

        jar uf newjwire.jar META-INF/MANIFEST.MF

当我运行这个 jar 时,我收到以下消息

              Error: Ivalid or corrupt jarfile newjwire.jar

我做错了什么?我是否以正确的方式构建 jar 文件?我也使用了 eclipse juno,它给出了相同的消息,即主类丢失。有一个由 main 函数组成的主类。这是否与我的原始 jar 有两个 MANIFEST 文件有关。

我希望这个问题是可以理解的。清晰详细的答案将不胜感激。

最佳答案

您应该通过 jar uf jar-file input-file(s) 更新 JAR 文件

请参阅此链接:http://docs.oracle.com/javase/tutorial/deployment/jar/update.html

关于java - Jar 文件在提取并重建时不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22280112/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com