Glassfishにデプロイされた「アプリケーションクライアント」は、jarファイルが署名されている場合にのみjava-web-startで起動できます。したがって、「glassfish Web管理コンソール」を使用してデプロイすると、jarファイルが署名され、すべてが期待どおりに機能します。スクリプト(jenkinsなど)を介してデプロイすると、Web開始パラメーターが機能せず、ファイルが署名されません。結果:JavaWebStartは機能しません。
解決策:Mavenプラグインを使用してjarファイルに署名します。そのために、私は最初にGlassfish証明書をキーストアにインポートする必要がありました
keytool -importkeystore -srckeystore "../../glassfish/domains/domain1/config/keystore.jks"
「maven-jarsigner-plugin」プラグインを含むpomファイルは次のようになります。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jarsigner-plugin</artifactId>
<version>1.2</version>
<configuration>
<alias>s1as</alias>
<storepass>changeit</storepass>
<keypass>changeit</keypass>
</configuration>
<executions>
<execution>
<id>sign</id>
<goals>
<goal>sign</goal>
</goals>
</execution>
<execution>
<id>verify</id>
<goals>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
これで、asadminデプロイメントスクリプトを使用してアプリケーションをデプロイでき、java-web-startが有効になります。