java在本地测试SpringOpenShift应用程序
我有一个在Openshift上运行的应用程序。它工作得很好,但是测试很困难,因为我必须把每一件小事都推到openshift上,然后等待所有的构建和重新启动来查看更改
因此,我试图找到一种在本地测试应用程序的方法。 另一个人在这里问了同样的问题:How to test an openshift application on local host,但我想知道是否存在更简单的解决方案
我在这里使用了快速启动项目http://github.com/openshift/spring-eap6-quickstart.git来启动它。所以基本上它是一个使用Hibernate的Spring应用程序
我想在项目中有两组配置文件(persistence.xml
等),一个用于本地Tomcat服务器,一个用于Jboss eap和
根据要部署到的服务器更改web.xml
。这可行吗?看起来很简单,我担心在更改前会出现任何意外问题
项目
# 1 楼答案
我就是这样结束的。我将原始的
web.xml
文件重命名为web-openshift.xml
。在OpenShift中构建项目时,会使用mavenopenshift
配置文件。你可以在pom的<profiles>
部分找到它。xml。所以我在我的pom.xml
中添加了一行:这使得
maven-war-plugin
在构建war时使用web-openshift.xml
文件作为web部署描述符。然后我添加了一个web.xml
文件,将用于本地构建。在这些文件中,您可以使用以下配置servlet:因此,通过更改我的两个
web.xml
文件中的<param-value>
,我能够以不同的方式配置Spring和Hibernate然后,我将
pom.xml
中标记为<provided>
的JAR添加到Tomcat安装的\lib
目录中。现在我可以在OpenShift和Tomcat上部署和运行应用程序了# 2 楼答案
在我在本地和Openshift上运行的一个应用程序中,我使用持久化应用程序根/数据文件夹来存储任何特定的Openshift配置
在我的网上。xml,我包括以下属性:
如果你在管理敏感的配置属性,比如用户名和密码,Openshift的环境变量可以发挥很大作用。例如,您可以在pom中放置以下属性。xml,在openshift配置文件下:
从Openshift环境变量检索数据库连接属性。然后可以使用maven的资源过滤将这些属性放入特定目录(如src/main/resources)中的任何文件中
我自己的本地数据库连接属性在My ~/的配置文件中管理。m2/设置。xml文件
这种方法使我能够:
# 3 楼答案
如果你有一个快速连接,你可以在本地服务器上运行你的应用程序,并让持久性。xml指向openshift数据库。要远程访问数据库,必须使用端口转发(https://www.openshift.com/blogs/getting-started-with-port-forwarding-on-openshift)。您需要设置rhc客户端(https://www.openshift.com/developers/rhc-client-tools-install),并运行rhc端口转发客户端来访问数据库。 然后,您可以在tomcat服务器上运行eclipse项目,它将(我假设您使用的是persistence.xml)连接到数据库。任何代码更改都将被视为其他tomcat项目。 没有必要有一个单独的网站。大多数情况下使用xml(除非您有一些特定于openshift的配置)
如果你愿意,你甚至可以使用像Toad这样的工具来连接数据库