我有一个远程Tomcat服务器和配置的maven项目,我可以使用maven tomcat:redeploy
进行编译和部署。但是,如果在应用程序启动期间存在一些运行时错误(例如,应用程序无法连接数据库) - 尽管部署过程成功,它仍无法启动。
我想检查部署的网站是否已启动并与maven一起运行(例如,通过检查HTTP 200状态所需的应用程序URL)。怎么做到这一点?
答案 0 :(得分:0)
您的Web应用程序必须具有索引文件,您可以将其放在web.xml文件的欢迎文件列表中。当您点击应用程序URL时,您将看到该索引页。
答案 1 :(得分:0)
您可以使用类似jUnit + HTMLUnit的内容并从Maven运行这些测试。不确定是否可以在部署后自动运行,因为部署需要一些时间,Maven不知道应用程序何时就绪。
您可以让Maven使用Cargo运行本地Tomcat服务器并对其运行这些单元测试。 我知道那些不是真正的单元测试,但你可以用jUnit来实现这个......
答案 2 :(得分:0)
检查应用是否正在运行的示例代码
URL url = new URL("http://the.url.of.web.app:1234");
URLConnection urlConn = url.openConnection();
urlConn.connect();
// jump over if-clause for casts
HttpURLConnection httpConnection = (HttpURLConnection) connection;
int code = httpConnection.getResponseCode();
// do check on code; 200 is okay
执行 mvn tomcat:redeploy 后,您可以在特殊配置文件中执行surefire test。