2014-10-28 65 views
0

我正在尝试使用Maven Cargo生成一个Wildfly容器,并让Keycloak在其上运行。我已经有一段时间了,我看到它有两种方法可以解决它。我可以为Wildfly使用工件安装程序,然后尝试部署Keycloak,或者我可以使用zip安装程序并安装Keycloak的设备版本。我有两个解决方案的基础知识,但他们都不工作。
他们似乎都有缺点。如果您使用工件安装程序,则您拥有更稳定的安装程序,但部署该战争需要对Wildfly进行较低级别的配置。 (Deployment Instructions)。另一方面,zip安装程序需要找到一个地方从Cargo下载一个发布,然后在Cargo识别它之前进行操作,因为zip结构不是货运期望的结果。使用Maven Cargo与Keycloak安装Wildfly

我从这里得到的zip:https://repository.jboss.org/nexus/content/repositories/releases/org/keycloak/keycloak-appliance-dist-all/1.0.2.Final/keycloak-appliance-dist-all-1.0.2.Final.zip)提前家伙

感谢。

回答

0

我想出了一个办法做到这一点,并附上相关的POM片段。这里唯一的古怪片断最终成为了文件部分。它被用来部署一个数据库文件,其中包含几个测试用户,领域,应用程序等。

<plugin> 
    <groupId>org.codehaus.cargo</groupId> 
    <artifactId>cargo-maven2-plugin</artifactId> 
    <version>1.4.6</version> 
    <configuration> 
     <container> 
      <containerId>wildfly8x</containerId> 
      <!-- <log>${basedir}/target/cargo.log</log> --> 
      <!-- <output>${basedir}/target/wildfly.log</output> --> 
      <home>${project.basedir}/target/cargo/installs/keycloak-appliance-dist-all-1.0.4.Final/keycloak-appliance-dist-all-1.0.4.Final/keycloak</home> 
      <artifactInstaller> 
       <groupId>org.keycloak</groupId> 
       <artifactId>keycloak-appliance-dist-all</artifactId> 
       <version>1.0.4.Final</version> 
      </artifactInstaller> 
     </container> 
     <configuration> 
      <properties> 
       <cargo.servlet.port>8080</cargo.servlet.port> 
       <cargo.servlet.users>root:root:ManagementRealm</cargo.servlet.users> 
       <cargo.jboss.configuration>standalone</cargo.jboss.configuration> 
      </properties> 
      <files> 
       <file> 
        <file>${project.basedir}/WildflyKeycoakConfigs/keycloak.h2.db</file> 
        <todir>/data</todir> 
       </file> 
      </files> 
     </configuration> 
    </configuration> 
</plugin>