次のように、記述子 XML ファイルで形式を「dir」に設定することにより、maven-assembly-plugin からディレクトリ出力を取得できます。
<assembly>
<formats>
<format>dir</format>
</formats>
.....
</assembly>
次に、dependencySets と fileSets を使用して、必要なファイルを含めたり除外したりします。
構成ファイルだけのディレクトリを取得するには、fileSet を使用して、必要なファイルのみをこの新しいディレクトリに含めます。
2 番目のアセンブリ記述子を使用して、構成ファイルを除外する jar を作成し、ディレクトリと jar の両方をクラス パスに含めることができます。
同じプラグインを 2 回実行するには、次のようにします。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>config-dir</id>
<configuration>
....
</configuration>
</execution>
<execution>
<id>jar-without-config</id>
<configuration>
....
</configuration>
</execution>
</executions>
</plugin>
詳細については、こちらを参照してください。
http://maven.apache.org/plugins/maven-assembly-plugin/assembly.html
代替実装
これはあなたの質問の範囲を超えており、別の質問により適していますが、より良い代替手段は、Spring のようなフレームワークを使用して、外部構成ファイルが内部にあるものをオーバーライドできるようにすることだと思います。その場合、デフォルトの jar を使用できますテンプレート構成ファイルの除外について心配する必要はありません。たとえば、Spring では次のようなことができます。
<bean id="propertyPlaceholderConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath*:/myproject/defaults.properties</value
<value>file:${user.home}/myproject.properties</value>
</list>
</property>
</bean>
これにより、内部の 'defaults.properties' が jar から読み込まれ、次にホーム ディレクトリから 'myproject.properties' が読み込まれます。myproject.properties に設定された値は、defaults.properties に設定された値をオーバーライドします。
それが役立つことを願っています。