通过命令行部署应用程序客户端(asadmin)

时间:2011-09-09 09:04:13

标签: java-ee deployment glassfish-3 application-client asadmin

是否有一个选项/参数来部署使用asadmin命令启用java-web-start的应用程序客户端?我使用GlassFish 3.1.1。

当我在webgui中部署它时,我有一个运行良好的jar文件

键入:“应用程序客户端”
   Java-Web-Start [x]

我想找到这样的东西:

asadmin deploy --type application --property java-web-start-enabled=true /path/to/jar/file/myApp.jar

1 个答案:

答案 0 :(得分:1)

部署在glassfish中的“应用程序客户端”只能在jar文件签名时通过java-web-start启动。因此,当我使用“glassfish web管理控制台”部署它时,jar文件已签名,一切都按预期工作。当我通过脚本(例如jenkins)部署它时,web start参数不起作用且文件未签名。结果:java web start不起作用。

解决方案:我使用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!