Java 如何在war中添加清单文件

Java 如何在war中添加清单文件,java,jar,process,war,Java,Jar,Process,War,我能够创建指定目录的war文件,即使用 Process p = Runtime.getRuntime().exec("jar -cvf myapp.war . ", s, new File("/mydir")); 但是,当我在创建时尝试添加清单文件时,创建的war文件会被刷新 Process p = Runtime.getRuntime().exec("jar -cvfm myapp.war MAN

我能够创建指定目录的war文件,即使用

Process p = Runtime.getRuntime().exec("jar -cvf myapp.war . ",
                        s,
                        new File("/mydir"));
但是,当我在创建时尝试添加清单文件时,创建的war文件会被刷新

Process p = Runtime.getRuntime().exec("jar -cvfm myapp.war MANIFEST.MF . ",
                        s,
                        new File("/mydir"));
即使我尝试过,它也会创建war,但只包含清单文件,而不包含/mydir的内容

Process p = Runtime.getRuntime().exec("jar -cvfm myapp.war MANIFEST.MF * ",
                        s,
                        new File("/mydir"));

我已经使用了下面的代码片段,它工作得很好

jar -cvfM  myapp.war MANIFEST.MF * ",
                        s,
                        new File("/mydir"));

这意味着它不会添加自动生成的清单,而会将我保存在meta inf文件夹中的清单(自定义清单文件)存档

您是否用
jar
而不是
war
尝试过这个方法?
jar
文件是用
manifest.mf
文件创建的吗?我想你应该试试这个。调用
jar-cvfm…
命令时,
jar
命令将自动添加
manifest.mf
文件。可能是当自定义
MANIFEST.MF
要添加到创建的
jar
中时,它会限制覆盖先前创建的jar。或者您可以先创建
.war
,然后将其更新为添加
manifest.mf
文件。尝试一下。是否有任何特定的原因以编程方式创建
manifest.mf
文件?那你为什么不和我一起去呢?此类提供您创建自定义
清单
文件。您可以使用指定要在生成的文件中显示的属性。