我有一个远程 Tomcat 服务器并配置了 maven 项目,我可以使用maven tomcat:redeploy
. 但是,如果在应用程序启动过程中出现一些运行时错误(例如应用程序无法连接数据库) - 尽管部署过程成功,但它不会启动。
我想检查已部署的网站是否已启动并使用 maven 运行(例如,通过检查 HTTP 200 状态的所需应用程序 URL)。如何做到这一点?
您的 Web 应用程序必须有一个索引文件,您可以将其放入 web.xml 文件中的欢迎文件列表中。当您点击应用程序 URL 时,您将看到该索引页面。
检查应用程序是否正在运行的示例代码
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后,您可以在特殊配置文件中执行安全测试。
您可以使用 jUnit + HTMLUnit 之类的东西并从 Maven 运行这些测试。不确定您是否可以在部署后自动运行它,因为部署需要一些时间,而且 Maven 不知道应用程序何时准备就绪。
您可以让 Maven 使用 Cargo 运行本地 Tomcat 服务器并针对它运行这些单元测试。我知道那些不是真正的单元测试,但你可以使用 jUnit 来实现这一点......