非常に単純なアセンブリ記述子があります
<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>dist</id>
<formats>
<format>jar</format>
</formats>
<!-- copied from jar-with-dependencies -->
<includeBaseDirectory>false</includeBaseDirectory>
<dependencySets>
<dependencySet>
<outputDirectory>/</outputDirectory>
<useProjectArtifact>true</useProjectArtifact>
<unpack>true</unpack>
<scope>runtime</scope>
</dependencySet>
</dependencySets>
<fileSets>
<fileSet>
<directory>${project.build.outputDirectory}</directory>
<outputDirectory>/</outputDirectory>
<useDefaultExcludes>true</useDefaultExcludes>
<excludes>
<exclude>**/dbAccess.*</exclude>
</excludes>
</fileSet>
</fileSets>
これは、ほとんどがMaven Descriptor Refsからコピーされたものです。ただし、組み立てた jar にはまだ dbAccess.* ファイルが含まれています。除外のためにさまざまな構成を試しました。
- 変更されたディレクトリ: ..build.directory}/classes
- 除外パターンの変更: dbAccess.*、**/*.properties、**/*
デバッグ出力は次のとおりです。
[DEBUG] The archive base directory is 'null'
[DEBUG] NOT reformatting any files in /media/truecrypt1/Development/workspace_java/baseanalysis/target/classes
[DEBUG] Adding file-set from directory: '/media/truecrypt1/Development/workspace_java/baseanalysis/target/classes'
assembly output directory is: ''
[DEBUG] Adding file-set in: /media/truecrypt1/Development/workspace_java/baseanalysis/target/classes to archive location:
pom のビルド セクション内に配置すると、通常のリソース フィルタリングが機能します。