2016-10-27 83 views
1

Adob​​e Experience Managerのバージョン6を使用していて、パッケージからファイルを除外するのが難しいです。Adob​​e Experience Managerのフィルタ除外ルールで正規表現のパターンが正しく動作しないようです

私は、ファイル名のパターンを除外するために、私のMETA-INF/vault/filter.xmlファイルを変更:

<?xml version="1.0" encoding="UTF-8"?> 
<workspaceFilter version="1.0"> 
    <filter root="/apps/myapp"> 
     <exclude pattern="\.DS_Store"/> 
    </filter> 
</workspaceFilter> 

しかし、ときに私は私のパッケージをアップロードしたり .DS_Storeファイルがまだ含まれているVLTを経由して、それらを押してください。

CRXDE Liteでフィルターと除外ルールを使用してパッケージを作成しようと試みましたが、さらに混乱しました。私は除外ルールと元のフィルタを使用してカバレッジをチェックすると

は、.DS_Storeファイルがまだ含まれています

files are not excluded

しかし、私は除外ルールとこのフィルタを作成し、カバレッジをチェックするとき

files are excluded

:、 .DS_Storeファイルが が除外されています

DS_Storeの前で点を打つのが除外で機能しないが、0以上のパターンを使用する理由はありますか?

答えて

0

最初の正規表現(.DS_Store)は動作しませんが、.DS_Storeにあるノードを探していて、ファイルはおそらく/.DS_Storeにあります。正規表現は完全なパスと一致する必要があります。 2番目の例(。* DS_Store)が動作しているのは、DS_Storeより前の文字が0以上見つかっているからです。これは明らかにDS_Storeで終わるパスと一致します。

http://www.regexr.com/で例を試して、テキスト領域にいくつかのファイルパスを追加して、どのように一致するかを確認することができます。

filter.xmlを使用してファイルを除外しようとするのではなく、ビルドでmaven-assembler-pluginを使用して除外することができます。あなたはこのようにプラグインを追加することになり、あなたのpom.xmlで

:zip.xmlで

  <plugin> 
      <artifactId>maven-assembly-plugin</artifactId> 
      <configuration> 
       <appendAssemblyId>false</appendAssemblyId> 
       <descriptors> 
        <descriptor>src/main/assembly/zip.xml</descriptor> 
       </descriptors> 
      </configuration> 
      <executions> 
       <execution> 
        <phase>package</phase> 
        <goals> 
         <goal>single</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 

をあなたがあなたのパッケージに含まれたくないファイルを除外し、次のようなものを指定します

<?xml version='1.0' encoding='UTF-8'?><assembly 
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd"> 
<id>zip</id> 
<formats> 
    <format>zip</format> 
</formats> 
<includeBaseDirectory>false</includeBaseDirectory> 
<fileSets> 
    <fileSet> 
     <directory>${basedir}/src/main/content/jcr_root</directory> 
     <outputDirectory>jcr_root</outputDirectory> 
     <excludes> 
      <exclude>**/.DS_Store</exclude> 
     </excludes> 
     <filtered>false</filtered> 
    </fileSet> 
    <fileSet> 
     <directory>${basedir}/src/main/content/META-INF</directory> 
     <outputDirectory>META-INF</outputDirectory> 
     <excludes> 
      <exclude>**/.DS_Store</exclude> 
     </excludes> 
     <filtered>true</filtered> 
    </fileSet> 
</fileSets> 
<dependencySets> 
    <dependencySet> 
     <outputDirectory>jcr_root/apps/myapp/install</outputDirectory> 
     <useProjectArtifact>false</useProjectArtifact> 
     <scope>compile</scope> 
     <includes> 
      <include>com.icfolson.aem:myapp-core</include> 
     </includes> 
     <useStrictFiltering>true</useStrictFiltering> 
    </dependencySet> 
</dependencySets> 

関連する問題