Плагин Maven jarsigner не работает во время выпуска

Мне нужно подписать выпущенные банки и я хочу сделать это с помощью плагина maven jarsigner. Поэтому я добавил это так:

        <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: знак отсутствует или недействителен '

Когда я запускаю в режиме отладки, я вижу следующее:

За 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 свойство, другие свойства игнорируются при выпуске.

Любые идеи высоко ценятся.

2 ответа

Решение

Нашел ответ.

Короче -D аргументы не передаются из командной строки в плагин релиза.
-Darguments= должен быть использован.

Для получения более подробной информации, пожалуйста, прочитайте этот блог, который помог мне решить эту проблему.

Введите эту команду в командной строке:

keytool -list -keystore [keystore location here]

Псевдоним 'myalias' находится в этом конкретном хранилище ключей? Если нет, то вам нужно создать его.

Единственное, что я могу увидеть, что может пойти не так, это если пароль неправильный для этого хранилища ключей.

Другие вопросы по тегам