4

リリースされたjarに署名する必要があり、mavenjarsignerプラグインを使用して署名したいと思います。だから私はそれを次のように追加しました:

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jarsigner-plugin</artifactId>
            <version>1.2</version>
            <configuration>
                <archive>target/${myarchive}.jar</archive>
                <keystore>${key.location}</keystore>
                <storepass>${keypass}</storepass>
                <alias>${key.alias}</alias>
                <verbose>true</verbose>
            </configuration>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>sign</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

不足しているパラメーターをコマンドラインで指定します。

実行mvn installすると、すべてが正常に機能し、アーカイブが署名されます。しかしrelease:prepare release:perform、jarsignerプラグインを実行すると、失敗します。「ゴールorg.apache.maven.plugins:maven-jarsigner-plugin:1.2:signのパラメーター'alias'が見つからないか無効です」

デバッグモードで実行すると、次のように表示されます。

の場合mvn install

[DEBUG] Configuring mojo org.apache.maven.plugins:maven-jarsigner-plugin:1.2:sign from plugin realm ClassRealm[plugin>org.apache.m
aven.plugins:maven-jarsigner-plugin:1.2, parent: sun.misc.Launcher$AppClassLoader@6d6f0472]
[DEBUG] Configuring mojo 'org.apache.maven.plugins:maven-jarsigner-plugin:1.2:sign' with basic configurator -->
[DEBUG]   (f) alias = myalias
[DEBUG]   (f) archive = myarchive
[DEBUG]   (f) arguments = []
[DEBUG]   (f) keystore = mykeystore
[DEBUG]   (f) processAttachedArtifacts = true
[DEBUG]   (f) processMainArtifact = true
[DEBUG]   (f) project = MavenProject: com.playtech.chat:ums_supportchatapplet:12.4-SNAPSHOT @ *********\pom.xml
[DEBUG]   (f) removeExistingSignatures = false
[DEBUG]   (f) skip = false
[DEBUG]   (f) storepass = changeit
[DEBUG]   (f) verbose = true
[DEBUG] -- end configuration --

しかし、私が走るrelease:prepare release:performと、私は見る:

Configuring mojo org.apache.maven.plugins:maven-jarsigner-plugin:1.2:sign from plugin realm ClassRealm[plugin>org.apache.maven.plugins:maven-jarsigner-plugin:1.2, parent: sun.misc.Launcher$AppClassLoader@553f5d07]
[INFO] [DEBUG] Configuring mojo 'org.apache.maven.plugins:maven-jarsigner-plugin:1.2:sign' with basic configurator -->
[INFO] [DEBUG]   (f) archive = myarchive
[INFO] [DEBUG]   (f) arguments = []
[INFO] [DEBUG]   (f) processAttachedArtifacts = true
[INFO] [DEBUG]   (f) processMainArtifact = true
[INFO] [DEBUG]   (f) project = MavenProject: com.playtech.chat:ums_supportchatapplet:12.4.0.1 @ *****\pom.xml
[INFO] [DEBUG]   (f) removeExistingSignatures = false
[INFO] [DEBUG]   (f) skip = false
[INFO] [DEBUG]   (f) verbose = true
[INFO] [DEBUG] -- end configuration --

したがって、プロパティを除いてarchive、他のプロパティはリリース中に無視されます。

どんなアイデアでも大歓迎です。

4

2 に答える 2

5

答えが見つかりました。

要するに-D、引数はコマンドラインからリリースプラグインに渡されません。
-Darguments=使用すべきです。

詳細については、この問題の解決に役立ったこのブログ投稿をお読みください。

于 2012-05-22T11:57:23.550 に答える
1

cmdプロンプトで次のコマンドを入力します。

keytool -list -keystore [keystore location here]

その特定のキーストアに「myalias」エイリアスがありますか?そうでない場合は、作成する必要があります。

私が見ることができる他の唯一の問題は、そのキーストアのパスワードが正しくない場合です。

于 2012-05-22T09:31:30.577 に答える