我关注了Java Archive Tool但无法找到如何排除文件夹.
例如,我有工作副本目录下的文件:
workingcopy
--src
  --.svn
  -- com
--.svn
--WebContent
Run Code Online (Sandbox Code Playgroud)
我想在src排除从.svn目录开始的所有文件夹的类中编译和创建jar .我想从运行它cmd像jar -cf test.jar等.
我该怎么做?
sil*_*los 21
这可以通过命令完成:
jar cf test.jar `find . -not -path "*/.svn/*" -not -type d`
Run Code Online (Sandbox Code Playgroud)
问题jar是如果传递了目录,它将以递归方式添加所有内容.所以我们的目标是只传递文件,只传递路径中没有'.svn'子字符串的文件.为此,find  命令用于2个条件:
-not -path "*/.svn*" 过滤掉所有svn文件-not -type d 过滤掉所有目录这将从jar中排除空目录.
这可能是解决您问题的实用方法:它不会排除subversion 目录(目录),而仅包含类文件(假设您不将类文件置于版本控制之下):
jar -cf test.jar *.class
Run Code Online (Sandbox Code Playgroud)
进一步增强:将代码与类文件分开。无论如何,您不想签入类文件(构建工件):
workingcopy
--src
  --.svn
  -- com  // only *.java files in here and below
--.svn
--WebContent
--bin
  --com   // only *.class files in here and below
Run Code Online (Sandbox Code Playgroud)
        |   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           15439 次  |  
        
|   最近记录:  |