一尘不染

在本地测试spring openshift应用程序

tomcat

我有一个在Openshift上运行的应用程序。它可以正常工作,但是测试很困难,因为我必须将所有小东西都推到openshift上,并等待所有建筑物并重新启动以查看更改。

因此,我试图找到一种在本地测试应用程序的方法。另一个人在这里问了同样的事情:如何在本地主机上测试openshift应用程序],但我想知道是否存在更简单的解决方案。

我使用了http://github.com/openshift/spring-
eap6-quickstart.git上的quickstart项目来启动它。因此,基本上它是使用Hibernate的Spring应用程序。

我想到的是在项目中有两组配置文件(persistence.xml等),一组用于本地Tomcat服务器,另一组用于Jboss
eap,并web.xml根据要部署到的服务器进行更改。这可行吗?看起来很简单,在更改项目之前,我担心会遇到任何意外问题。


阅读 207

收藏
2020-06-16

共1个答案

一尘不染

这就是我最终做的方式。我将原始web.xml文件重命名为web-openshift.xml。在OpenShift中构建项目时,将使用maven
openshift配置文件。您可以<profiles>在pom.xml 的部分中找到它。所以我给我添加了一行pom.xml

<build>
  <plugins>
    <plugin>
      <artifactId>maven-war-plugin</artifactId>
         <configuration>
         ....
           <webXml>src/main/webapp/WEB-INF/web-openshift.xml</webXml>  <!--add this-->

这使得在构建战争时maven-war-pluginweb- openshift.xml文件用作Web部署描述符。然后我添加了一个web.xml文件,该文件将用于本地构建。在这些文件中,您可以通过以下方式配置servlet:

<init-param>
   <param-name>contextConfigLocation</param-name>
   <param-value>/WEB-INF/jboss-as-spring-mvc-context.xml</param-value>

因此,通过更改<param-value>两个web.xml文件中的,我能够以不同的方式配置Spring和Hibernate。

然后,我添加标记为jar<provided>pom.xml\lib我的Tomcat的安装目录。现在,我能够将应用程序部署并运行到OpenShift和Tomcat。

2020-06-16