在CMD / Powershell中将Jar文件创建为具有多个类的单行文件

时间:2013-08-27 16:30:23

标签: java powershell jar cmd

我正在尝试将以下Linux JAR命令转换为在CMD中作为单行运行:

$ jar cvf JarName.jar */*.class

我发现很难做到,因为在基于* nix的shell中,CMD / Powershell中没有文件扩展。我知道我可以通过使用适当的类文件创建一个清单来实现这一点,但是一个内核看起来非常简单。我尝试过使用DIR和管道但是看起来类文件是参数而不是来自STDIN。我也试过玩FOR命令,但我无法弄清楚如何使它成为一行。

我错过了一些明显的东西吗?

非常感谢! 植物女士

2 个答案:

答案 0 :(得分:1)

如果文件夹树仅包含要包含在.jar文件中的文件,则可以执行以下操作:

jar cvf JarName.jar .

否则,最简单的方法可能是通过robocopy只复制类文件,然后复制jar复制文件夹结构:

robocopy "C:\path\to\classdir" "C:\path\to\classdir_dup" *.class /s
jar cvf JarName.jar -C "C:\path\to\classdir_dup" .
rd /s /q "C:\path\to\classdir_dup"

答案 1 :(得分:0)

我可能会遗漏一些内容,但您只是想在所有子目录中添加所有类文件吗?我认为它的工作原理如下:

jar cvf JarName.jar *.class