1

maven-antrun-plugin を使用して、jar ファイルをフォルダーに解凍しています。この jar ファイルはすべてのビルドで生成され、バリアント TIMESTAMP を持ちます (次のスニペットを参照)。jar ファイルと同じ名前のフォルダーに jar ファイルを解凍するにはどうすればよいですか? たとえば、フォルダーは /folder ではなく /sample_TIMESTAMP にする必要があります

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-antrun-plugin</artifactId>
    <version>1.7</version>
    <executions>
        <execution>
            <id>unpack-jar-features</id>
            <phase>install</phase>
            <goals>
                <goal>run</goal>
            </goals>
            <configuration>
                <target>
                    <echo message="unpack jar file" />
                    <unzip dest="/folder">
                        <fileset dir="/folder">
                            <include name="sample_TIMESTAMP.jar" />
                        </fileset>
                    </unzip>
                </target>
            </configuration>
        </execution>
    </executions>
</plugin>
4

1 に答える 1

2

新しいディレクトリに解凍するには、まず でディレクトリを作成してから、を<mkdir>に変更します。dest<unzip>sample_TIMESTAMP

<mkdir dir="/sample_TIMESTAMP"/>
<unzip dest="/sample_TIMESTAMP">
    <fileset dir="/folder">
        <include name="sample_TIMESTAMP.jar" />
    </fileset>
</unzip>

を使用<pathconvert>して、JAR ファイルの名前でプロパティを作成できます。

<fileset id="my-jar-file" dir="/folder">
    <include name="sample_*.jar"/>
</fileset>
<pathconvert property="my-jar-file-name">
    <chainedmapper>
        <flattenmapper/>
        <globmapper from="*.jar" to="*"/>
    </chainedmapper>
    <path>
        <fileset refid="my-jar-file"/>
    </path>
</pathconvert>
<mkdir dir="/${my-jar-file-name}"/>
<unzip dest="/${my-jar-file-name}">
    <fileset refid="my-jar-file"/>
</unzip>

my-jar-file <fileset>が複数の JAR ファイルと一致する可能性がある場合は<restrict>、一致を 1 つのファイルに制限するために使用します。

于 2016-02-24T15:30:04.217 に答える