Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java maven-cargo2-plugin如何识别我的Spring Boot应用程序已经运行了一个嵌入式Tomcat?_Java_Maven_Spring Boot_Tomcat - Fatal编程技术网

Java maven-cargo2-plugin如何识别我的Spring Boot应用程序已经运行了一个嵌入式Tomcat?

Java maven-cargo2-plugin如何识别我的Spring Boot应用程序已经运行了一个嵌入式Tomcat?,java,maven,spring-boot,tomcat,Java,Maven,Spring Boot,Tomcat,我有一个用SpringMVC(所以它是一个web前端)、SpringData等构建的应用程序。它在嵌入式Tomcat上运行,我可以通过以下方式访问索引: java -jar MyApplication.jar 在浏览器或卷曲中转到“” (我在Eclipse中有两个运行时配置,它们也使这一过程更快、更容易。) 现在,所有内容都在maven中,所有内容都通过以下方式构建(包括使用标准单元测试): mvn clean install javadoc:javadoc (这给了我一个jar文件、一个源

我有一个用SpringMVC(所以它是一个web前端)、SpringData等构建的应用程序。它在嵌入式Tomcat上运行,我可以通过以下方式访问索引:

java -jar MyApplication.jar
在浏览器或卷曲中转到“”

(我在Eclipse中有两个运行时配置,它们也使这一过程更快、更容易。)

现在,所有内容都在maven中,所有内容都通过以下方式构建(包括使用标准单元测试):

mvn clean install javadoc:javadoc
(这给了我一个jar文件、一个源jar等)

要进行前端和集成测试,我需要让应用程序运行。基本上,我需要一个fork或多个线程(我想这是正确的术语?),其中第一个线程将运行我的应用程序或其他东西,然后第二个线程将运行测试

现在我正试图摆弄maven-cargo2-plugin,但它令人讨厌,因为我的应用程序已经运行了一个嵌入式tomcat。这是有道理的——如果cargo正在启动一个tomcat,它不想找到一个已经运行的

我很确定我不是唯一一个这样做的人,但我很茫然。我已经尝试过通过spring启动测试来加载应用程序上下文,但这对于我的前端测试(HTMLUnit/Selenium)是不够的

我已经设置了故障保护,这一切都在运行:

mvn verify
但是我对如何配置货物的容器感到困惑。这是“嵌入式”类型吗?“已安装”类型?“远程”(即使它在同一台机器上)

就像我说的,这是最后一圈。我们已经有了一个可执行的jar。我只需要它启动,然后运行,直到验证步骤结束


有什么想法吗?

我建议您使用spring boot附带的spring boot:run插件


用法:
mvn clean spring引导:运行

OK。我了解maven,它似乎会清理maven项目,并启动应用程序,但它没有说明如何在mvn验证步骤中执行它,以便我可以运行我的maven测试。您能详细说明一下吗?对于spring boot环境中的集成测试,我们有一个很好的注释
@SpringBootTest
。看看如何使用它;)我遇到的问题是HTMLUnit测试。是的,@SpringBootTest最终成为了答案,但是关于如何使用MockMVc和HTMLUnit测试的教程并不多,所以我尝试引入货物以在分叉中运行应用程序,以便HTMLUnit可以进行前端测试。