首页 文章

将Java EE Wildfly REST应用程序部署到Openshift

提问于
浏览
1

我是Openshift的新手,无法将Java EE项目部署到它 . 我为一个简单的webstore制作了REST API . 本地它在Wildfly 9.0.2上工作正常我想在openshift上部署它 . 我使用eclipse openshit jboss插件创建了新的wildfly9 mysql5.5应用程序,并为root pom.xml添加了一个配置文件:

<profiles> <profile> <id>openshift</id> <build> <finalName>webstore</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.3</version> <configuration> <failOnMissingWebXml>false</failOnMissingWebXml> <outputDirectory>deployments</outputDirectory> </configuration> </plugin> </plugins> </build> </profile> </profiles>

我的根项目包括几个maven模块,包括store-ear(EAR),store-jpa(JAR),store-rest(WAR),store-web(WAR),store-services(EJB),store-rest-interfaces( JAR),store-service-interfaces(JAR) . 我在JPA配置(persistence.xml)中更改了数据,以便在Openshift上使用MysqlDB . 在推回到openshift之后,构建成功,但是当它部署时,它缺少一些依赖项(ClassNotFoundException),并且无法部署主war文件 .

1 回答

  • 0

    您在openshift maven配置文件中使用maven-war插件 . 但是你说你的项目是打包的 . 所以你应该部署这个包含所有项目模块(war,ejbs,libs ......)的耳朵,而不是你项目的特定战争 .

    要实现这一点,你必须在你的openshift配置文件中使用maven-ear插件而不是maven-war插件,如下所示:

    <profile>
     <id>openshift</id>
     <build>
        <plugins>
           <plugin>
              <artifactId>maven-ear-plugin</artifactId>
              <version>2.10</version>
              <configuration>
                 <outputDirectory>deployments</outputDirectory>
              </configuration>
           </plugin>
        </plugins>
     </build>
    </profile>
    

相关问题