我正在尝试将以下Linux JAR命令转换为在CMD中作为单行运行:
$ jar cvf JarName.jar */*.class
我发现很难做到,因为在基于* nix的shell中,CMD / Powershell中没有文件扩展。我知道我可以通过使用适当的类文件创建一个清单来实现这一点,但是一个内核看起来非常简单。我尝试过使用DIR和管道但是看起来类文件是参数而不是来自STDIN。我也试过玩FOR命令,但我无法弄清楚如何使它成为一行。
我错过了一些明显的东西吗?
非常感谢! 植物女士
答案 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