5

アセンブリをビルドして署名したいと思います。私の問題は、jarsigner がアセンブリではなく、スタンドアロンの jar ファイルのみに署名することです。何が問題なのか教えていただけますか?Ant を何年も使用してきた私にとって、Maven は「魔法」のように思えます。

を実行した後mvn install、2 つの jar ファイルを取得します。1 つは呼び出されexample-1.0.0-SNAPSHOT.jarて署名されており、もう 1 つは呼び出されてexample-1.0.0-jar-with-dependencies.jar署名されていません。ソロは必要ありません。アセンブリだけですが、署名済みです。

ここに私のpom.xmlがあります:

<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jarsigner-plugin</artifactId>
                <version>1.2</version>
                <executions>
                    <execution>
                        <id>sign</id>
                        <goals>
                            <goal>sign</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <keystore>${project.basedir}\keystore\mykeystore</keystore>
                    <alias>myalias</alias>
                    <storepass>...</storepass>
                    <keypass>...</keypass>
                </configuration>
            </plugin>

            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <executions>
                    <execution>
                        <id>make-my-assembly</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <archive>
                        <manifest>
                            <mainClass>com.example.FooBar</mainClass>
                        </manifest>
                    </archive>
                    <appendAssemblyId>true</appendAssemblyId>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                </configuration>
            </plugin>
        </plugins>
    </build>
4

3 に答える 3

3

maven-assembly-plugin を package フェーズではなく、prepare-package フェーズに入れるようにしてください。

  <plugin>
    <artifactId>maven-assembly-plugin</artifactId>
    <executions>
        <execution>
            <id>make-my-assembly</id>
            <phase>prepare-package</phase>
            <goals>
                <goal>single</goal>
            </goals>
        </execution>
    </executions>
    ...
</plugin>
于 2012-07-08T16:57:28.707 に答える