0

我正在使用 jar 命令创建一个战争文件。它有很多文件夹和很多子文件夹等。我在 Ubuntu Linux 上工作,当我创建战争时,所有隐藏文件也包含在战争文件中。这使最终产品的尺寸增加了一倍。

如何排除所有隐藏文件?

/my/path_to/folder/myfile.jsp
/my/path_to/folder/myfile.jsp~
/my/path_to/folder/myfile2.jsp
/my/path_to/folder/myfile2.jsp~

所以我想排除任何以 ~ 结尾的文件

谢谢

斯普诺格

4

3 回答 3

2

我建议使用Apache Ant创建 jar/war 文件,因为它是可移植的,因此您不需要依赖 shell 功能来处理基于正则表达式的排除文件。

满足您需求的最简单的antbuild.xml 将是:

<project>
  <property name="classes.dir" value="." />
  <jar destfile="a.jar" basedir="${classes.dir}" excludes="**/*~" />
</project>
于 2012-12-06T23:28:47.637 回答
2

如果要从选择中消除结果,可以使用 ^(不)来执行此操作。这将排除所有带有 ~ 的文件

jar cf myFile.war *[^~]

添加图像以进行验证

在此处输入图像描述

于 2012-12-06T20:33:50.270 回答
0
find . -type f -name "*~" -exec rm -f {} \;
于 2012-12-06T23:44:51.627 回答