webstart-maven-plugin не может подписать jar из-за отклонения запроса метки времени - PullRequest
0 голосов
/ 04 мая 2018

У нас есть проект, использующий webstart-maven-plugin для создания артефакта JNLP Java Webstart.

Но на maven compile я всегда получаю

[ОШИБКА] Не удалось выполнить цель org.codehaus.mojo: WebStart-Maven-плагин: 1,0-бета-6: JNLP-скачать-сервлет (по умолчанию) на веб-запуске проекта: не удалось подписать jar ... \ target \ jnlp \ libs \ unprocessed_commons-codec-1.10.jar, используйте -X для есть детали ошибки

Запуск с ключом -X показывает:

jarsigner: невозможно подписать jar: java.io.IOException: ошибка при создании метка времени: запрос метки времени был отклонен. Не распознан или идентификатор неподдерживаемого алгоритма.

Из-за этой ошибки Я обновил свой JDK до 1.8 (только для целей тестирования, поскольку мне в настоящее время все еще требуется 1.7 для продукта):

java -version  
java version "1.8.0_172"  
Java(TM) SE Runtime    Environment (build 1.8.0_172-b11)

но все равно я получаю ошибку выше.

Чтобы получить метку времени, мы используем URL http://sha1timestamp.ws.symantec.com/sha1/timestamp,, см. Конфигурацию плагина maven ниже.

Моя проблема: для моих коллег это работает, у них одинаковая версия Java, одинаковые настройки проекта maven и т. Д. Поэтому это должно быть проблемой в моей местной среде. Есть идеи?

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>webstart-maven-plugin</artifactId>
    <version>1.0-beta-6</version>
    <executions>
        <execution>
            <phase>process-resources</phase>
            <goals>
                <goal>jnlp-download-servlet</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <outputJarVersions>true</outputJarVersions>
        <outputDirectoryName>webstart</outputDirectoryName>
        <excludeTransitive>false</excludeTransitive>
        <templateDirectory>src/main/resources/jnlp</templateDirectory>
        <libPath>libs</libPath>
        <verbose>true</verbose>
        <unsignAlreadySignedJars>true</unsignAlreadySignedJars>
        <jnlpFiles>
            <jnlpFile>
                <templateFilename>abc.vm</templateFilename>
                <outputFilename>abc.jnlp</outputFilename>
                <jarResources>
                    ...
                </jarResources>
            </jnlpFile>
        </jnlpFiles>
        <sign>
            <keystore>${pathKeystore}</keystore>
            <storepass>${passstore}</storepass>
            <keypass>${passkey}</keypass>
            <alias>${alias}</alias>
            <tsaLocation>${tsaLocation}</tsaLocation>
            <arguments>
                <argument>-J-Djavax.net.ssl.trustStore=${project.build.directory}/../myTruststore.jks</argument>
                <argument>-J-Djavax.net.ssl.trustStorePassword=myPassword</argument>
                <argument>-J-Djavax.net.ssl.keyStore=${project.build.directory}/../myTruststore.jks</argument>
                <argument>-J-Djavax.net.ssl.keyStorePassword=myPassword</argument>
                <argument>-J-Dhttps.proxyHost=proxy.mycompany.com</argument>
                <argument>-J-Dhttps.proxyPort=3128</argument>
                <argument>-J-Dhttp.proxyHost=proxy.mycompany.com</argument>
                <argument>-J-Dhttp.proxyPort=3128</argument>
            </arguments>

        </sign>
        <unsign>true</unsign> <!-- unsign already signed packages and sign them with own key -->
    </configuration>
</plugin>

...         
<tsaLocation>http://sha1timestamp.ws.symantec.com/sha1/timestamp</tsaLocation>  

1 Ответ

0 голосов
/ 04 мая 2018

Сборка работает при удалении

<tsaLocation>${tsaLocation}</tsaLocation>

из конфигурации знака -> с сервера отметок времени не извлекается метка времени, но файлы jar подписаны.

...