Mavenを使用してスタンドアロンアプリケーションを構築しようとしています
Mavenを使用して依存関係が損なわれていないスタンドアロンアプリケーションを作成するにはどうすればよいですか?で説明されているアセンブリプラグインを使用し ます。
これにより、を含むウィジェット配布zipが作成されます
widget-1.0
widget-1.0/lib/widget.jar
widget-1.0/lib/3rdpartyjar1.jar
widget-1.0/lib/3rdpartyjar2.jar
..。
しかし、私のsrcツリーには次のものがあります。
src/main/bin/widget.sh
これは最終的な配布zipにはなりません。ここに入れてください
widget-1.0/widget.sh
また、私のsrcツリーにはプロパティファイルがあります
src/main/properties/widget.properties
それは現在その道を進んでいます
widget-1.0/lib/widget.jar
しかし、編集可能にしたいので、
widget-1.0/widget.properties
Maven内でこれを行うことは可能ですか?
編集 ブログの情報を使用すると、次のように機能するようになりました。
- これは標準のMaven名であるため、binフォルダーの名前をscriptsフォルダーに変更しました
- widget.propertiesをスクリプトフォルダーに移動しました
- ファイルセットを含むようにassembly.xmlを変更しました
これが新しいxmlです
<?xml version="1.0" encoding="UTF-8"?>
<assembly
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
<id>distribution</id>
<formats>
<format>zip</format>
</formats>
<dependencySets>
<dependencySet>
<scope>runtime</scope>
<outputDirectory>lib</outputDirectory>
<unpack>false</unpack>
</dependencySet>
</dependencySets>
<fileSets>
<fileSet>
<directory>${project.build.scriptSourceDirectory}</directory>
<outputDirectory></outputDirectory>
<includes>
<include>widget.sh</include>
<include>widget.properties</include>
</includes>
</fileSet>
</fileSets>
</assembly>
ただし、マイナーな点ですが、Maven標準フォルダー変数のリストがどこにも見つかりません。つまり、プロパティフォルダーの${project.build.scriptSourceDirectory}に相当するものがあります。