15

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内でこれを行うことは可能ですか?

編集 ブログの情報を使用すると、次のように機能するようになりました。

  1. これは標準のMaven名であるため、binフォルダーの名前をscriptsフォルダーに変更しました
  2. widget.propertiesをスクリプトフォルダーに移動しました
  3. ファイルセットを含むように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}に相当するものがあります。

4

1 に答える 1

17

このブログ投稿は、これを行う方法に関する優れたチュートリアルであることがわかりました。

また、ファイルを配置するフォルダーの名前も関係があると思います。src/main/javaMaven は、 のファイルとのファイルで明らかに異なることを行いますsrc/main/resources。100% 確実ではありませんが、このフォルダーの名前は、ファイルが jar 内に収まるかどうかの違いを意味する可能性があります。

Maven ディレクトリ名のプロパティの一覧を次に示します。

于 2012-07-24T13:28:52.297 に答える