2

アセンブリ プラグインを使用して、swing アプリケーションをカスタム アセンブリ記述子を含む artifactId killer-app でパッケージ化しています。

/killer-app/アセンブリは正常に動作し、アセンブリ内のディレクトリ内に必要なものを含めることができます。

killer-app-archive.zip
 \- killer-app
    \- whatever ...

/killer-app/問題は、アーカイブ内のフォルダーの同じレベルに別のファイルを含める必要があることです。

killer-app-archive.zip
 \- killer-app
 |  \- whatever ...
 \- launch.bat

私はで遊んでみました

<includeBaseDirectory>false</includeBaseDirectory>

/killer-app/しかし、それは単にフォルダーを削除するだけなので、保持する必要があります。

4

1 に答える 1

9

あなたの問題を解決することができる3つのステップ:

  • baseDirectoryに変更../
  • FileSetsを使用して、追加のファイルを追加します。
  • DependencySetを使用してプロジェクトアーティファクトを追加します(useProjectArtifact = true)

これで問題が解決するはずです。次に例を示します。

<?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>my-assembly</id>
    <baseDirectory>../</baseDirectory>
    <formats>
        <format>zip</format>
    </formats>
    <includeBaseDirectory>false</includeBaseDirectory>
    <dependencySets>
        <dependencySet>
            <unpack>true</unpack>
            <useProjectArtifact>true</useProjectArtifact>
        </dependencySet>
    </dependencySets>
    <fileSets>
        <fileSet>
            <directory>path/to/resource</directory>
            <includes>
                <include>**/*.bat</include>
            </includes>
            <outputDirectory>/</outputDirectory>
        </fileSet>
    </fileSets>
</assembly>
于 2013-01-13T09:59:22.183 に答える