Плагин 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' находится в этом конкретном хранилище ключей? Если нет, то вам нужно создать его.
Единственное, что я могу увидеть, что может пойти не так, это если пароль неправильный для этого хранилища ключей.