2016-12-12 5 views
2

Мне нужно импортировать два разных сертификата в мой процесс сборки. Я использую keytool-maven-plugin, я могу импортировать 1 плагин, но я не могу импортировать 2 разных.Как импортировать 2 разных сертификата с maven

Вот мой ПОМ фрагмент

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>keytool-maven-plugin</artifactId> 
    <version>1.5</version> 
    <executions> 
     <execution> 
      <goals> 
       <goal>importCertificate</goal> 
      </goals> 
      <phase>package</phase> 
     </execution> 
    </executions> 
    <configuration> 
     <keystore>${project.build.directory}/client-truststore.jks</keystore> 
     <storepass>storepass</storepass> 
     <alias>alias</alias> 
     <file>ca.pem</file> 
     <noprompt>true</noprompt> 
    </configuration> 
</plugin> 

Спасибо заранее.

+0

Как сделать два исполнения? – khmarbaise

+0

Как я могу дать 2 разных конфигурации двум различным исполнениям? –

+0

@small_ticket просто попробуйте поместить тег конфигурации в исполнение один раз. ;) – nullpointer

ответ

1

Немногие вещи -

  • , как обсуждалось и выведенные выше <id> является то, что вам не хватает в вашей <execution> теге

  • также, если вы хотите сделать псевдоним конфигурируемый, пожалуйста, используйте changeAlias в вашем исполнение, как -

    <goals> 
        <goal>changeAlias</goal> 
    </goals> 
    

Источник - Keytool Maven Plugin

Как использовать keytool:changeAlias задающие параметры в командной строке

> mvn keytool:changeAlias -Dkeystore=/path/to/your/keystore 
> -Dstorepass=storepass -Dkeypass=keypass -Dalias=foo_alias \ -Ddestalias=new_alias 
  • и для различных исполнениях вы можете попробовать настроить различные псевдонимы следующим образом -

    <executions> 
        <execution> 
         <goals> 
         <goal>importCertificate</goal> 
         </goals> 
         <phase>package</phase> 
         <id>executionOne</id> 
         <configuration> 
         <keystore>${project.build.directory}/client-truststore.jks</keystore> 
         <storepass>storepass</storepass> 
         <alias>alias</alias> 
         <file>ca.pem</file> 
         <noprompt>true</noprompt> 
         </configuration> 
        </execution> 
        <execution> 
         <goals> 
         <goal>importCertificate</goal> 
         </goals> 
         <phase>package</phase> 
         <id>executionTwo</id> 
         <!--change this from one above--> 
         <configuration> 
         <keystore>${project.build.directory}/client-truststore.jks</keystore> 
         <storepass>storepass</storepass> 
         <alias>alias</alias> 
         <file>ca.pem</file> 
         <noprompt>true</noprompt> 
         </configuration> 
        </execution> 
    </executions>