9

私はmaven-assemblyプラグインを使用して zip を作成していますが、同じプラグインを使用して圧縮中にファイルの名前を変更するにはどうすればよいですか??

アップデート:

ポンポンのプロフィールです

    <profile>
        <id>D1</id>
        <activation>
            <property>
                <name>D1</name>
                <value>true</value>
            </property>
        </activation>
        <build>
            <plugins>               
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <version>2.2.2</version>
                    <executions>
                        <execution>
                            <phase>package</phase>
                            <goals>
                                <goal>single</goal>
                            </goals>
                            <configuration>
                                <descriptors>
                                    <descriptor>assembly/online-distribution.D1.xml</descriptor>
                                </descriptors>
                                <appendAssemblyId>false</appendAssemblyId>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </build>
    </profile>

これはAssembly.xmlです

<?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">
<formats>
    <format>tar.gz</format>
</formats>
<id>online</id>
<includeBaseDirectory>false</includeBaseDirectory>
    <dependencySet>
        <outputDirectory>resources</outputDirectory>
        <unpack>true</unpack>
        <includes>
            <include>${project.groupId}:core-config:jar</include>
        </includes>
        <unpackOptions>
            <includes>
            <include>coresrv/env-config.D1.properties</include>
            </includes>
        </unpackOptions>
    </dependencySet>
    <files>
    <file>
        <source>${project.groupId}/core-config.jar/coresrv/env-config.D1.properties</source>
        <outputDirectory>/</outputDirectory>
        <destName>env-config.properties</destName>
    </file>
</files>
</assembly>

そのjarを取得して解凍し、ファイルの名前を変更して再度圧縮しています。ありがとう

4

4 に答える 4

13

使用できます

 <outputFileNameMapping>...</outputFileNameMapping>

このアセンブリに含まれるすべての依存関係のマッピング パターンを設定します。

デフォルト値:

${artifact.artifactId}-${artifact.version}${dashClassifier?}.${artifact.extension}.
于 2013-05-15T13:20:47.853 に答える
2

私は同じ問題に直面しました。いくつかのファイルの名前を変更して unpack を使用する必要があり、解決策として maven-assembly-plugin を 2 回実行することができます。

最初の実行ではdir、アーカイブ形式の代わりに形式を使用し、ファイルのコンテンツを準備します。その結果、必要なすべてのファイルを含むフォルダーが作成されます。

2 回目の実行では、前の実行のフォルダーをソースとして使用fileSetsし、.filesを使用して任意のファイルの名前を変更できます。2 回目の実行の形式として、最終的なアーカイブを作成するfiles.file.destNameようなアーカイブ形式を使用できます。zip

于 2016-01-27T12:11:34.577 に答える