嗨,我正忙于反编译 jar 的应用程序,将文件粘贴到反编译 jar 的文件夹中,然后将该文件夹压缩到 jar 中。
反编译和复制工作,但我无法设法将文件夹内容打包(压缩成jar),我做了大约3小时的研究,只发现过时的方法。请帮忙。
-问候 马尔科5049
编辑更多信息: 我很抱歉,我的意思是我无法让我的应用程序将文件夹转换为 jar 文件,我的应用程序是 jar 文件的修改安装程序。它提取 jar 文件,然后添加修改,然后应该将该文件夹转回 jar 文件,以便安装修改。 jar 文件不可执行。
这对我的 MAC OSX 有用:
在包含 jar 文件的文件夹中打开终端并运行以下命令
unzip mylib.jar -d jarfolder
//You can then change whatever you need and finally run the command below
jar cvf mylib.jar -C jarfolder/ .
JarOutputStream
来实现这一点。有一个示例 在此链接,其中包含创建 JAR 文件的代码,给定包含所有输入文件的 File[]
。
关于在给定起始输入路径的情况下创建文件列表,请参阅在 Java 中递归地列出文件。
您可以构建一个文件列表,然后只使用上面示例中的代码,或者您可以递归扫描文件并将它们添加到 JAR 中。
如果您使用 Java 7 并且您知道您的用户也使用 Java 7,您还可以使用
Files.walkFileTree()
和 FileVisitor
,在访问文件时向 JAR 添加条目。
有什么问题吗:
jar cf my-application.jar folder1 folder2 folder3 etc
JDK 附带了一个
jar
实用程序来创建 JAR 文件。
您可以在这里阅读官方教程:创建 JAR 文件。这非常简单。
如果您想创建一个可运行 JAR,您可以创建一个包含主类和其他选项的清单文件。链接的教程描述了该过程。
简单的答案是,压缩文件夹,然后将其重命名为 JAR 文件。
最简单的方法..将文件夹放入
C:\Program Files\Java\jdk1.8.0_221\bin
,然后到达CMD的相同路径,然后运行此
jar cvf Name_your_jar.jar folder
对于 Windows,只需将文件夹设为 winrar 文件即可。,
现在您已获得可执行 jar 文件以及相应的文件夹。
以下命令在 Windows 10 和 jdk-8u212 中对我有用
jar cf my-application.jar folder1 folder2 folder3 etc
您可以将文件放在 zip 文件夹中。然后将 zip 文件转换为 Jar 格式。扩展名为 .jar 的文件是 Java Archive 格式的文件。它用于将大量文件存储到一个文件中。您可以尝试免费的在线文件转换器,而无需在计算机上下载新软件。 Google 上提供了各种在线文件转换器。我建议 将 zip 转换为 jar
希望有帮助。
我刚刚发现这个问题,它的答案对您的问题更有用: 如何使用 java 压缩文件夹本身
2 提示:
1、jar 就是 zip。所以,你只需要压缩你的文件夹,并将其重命名为 jar
2、请注意,您应该在不更改文件相对路径的情况下压缩整个文件夹,而不仅仅是提取所有 .class 文件并将它们压缩在一起。因为你运行jar的时候,类包要和它的路径一致。
我建议尝试在 Windows 中创建常规 .ZIP 文件。 您需要获取 7-zip 才能查看您正在创建的 .JAR 文件。您应该将内容粘贴到 .ZIP 中,然后将文件类型从 .ZIP 重命名为 .JAR,这对我有用,我希望这对您有用。
.JAR 基本上是由 Oracle Java 客户端创建的 .ZIP,因此出于某种原因您需要特殊的文件查看软件(例如 7-zip 或 WinRAR)来查看它。
您还可以通过重命名文件类型将 .JAR 恢复为 .ZIP。您可能需要使用 RegeEdit 或其他工具修改您的计算机才能重命名您的文件类型。
我希望这有帮助。
每次我这样做时,就像解压 jar 并在不进行任何更改的情况下将其压缩一样,它只会显示“错误:无效或损坏的 jarfile”,所以我不知道是否应该放弃。