Jar命令排除任何文件夹中的隐藏文件

时间:2012-12-06 19:49:38

标签: linux web-applications ubuntu

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

如何排除所有隐藏文件?

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

所以我想排除任何以〜

结尾的文件

由于

Spunog

3 个答案:

答案 0 :(得分:2)

如果要消除选择的结果,可以使用^(不)来执行此操作。这将使用〜

排除所有文件
jar cf myFile.war *[^~]

添加了验证图片

enter image description here

答案 1 :(得分:2)

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

最简单的ant build.xml可满足您的需求:

<project>
  <property name="classes.dir" value="." />
  <jar destfile="a.jar" basedir="${classes.dir}" excludes="**/*~" />
</project>

答案 2 :(得分:0)

find . -type f -name "*~" -exec rm -f {} \;