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

标签 java maven spring-boot tomcat

我有一个使用 Spring MVC(因此它是一个 Web 前端)、Spring Data 等构建的应用程序。它在嵌入式 Tomcat 上运行,我可以通过以下方式访问索引:

java -jar MyApplication.jar

在浏览器或curl中转到“https://localhost:8443

(我在 Eclipse 中有几个运行时配置,可以使此操作更快、更容易。)

现在,一切都在 Maven 中,并且一切都通过使用以下方式构建(包括标准单元测试):

mvn clean install javadoc:javadoc

(这给了我一个 jar 文件、一个源 jar 等)

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

现在我正在尝试摆弄 maven-cargo2-plugin,但它很烦人,因为它遇到了问题,因为我的应用程序已经运行了一个嵌入式 tomcat。这是有道理的——如果 Cargo 正在启动一个 Tomcat,它不想找到一个已经在运行的 Tomcat。

我很确定我不是唯一一个这样做的人,但我不知所措。我尝试通过 spring-boot-test 来加载应用程序上下文,但这对于我的前端测试(HTMLUnit/Selenium)来说还不够。

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

mvn verify

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

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

有什么想法吗?

最佳答案

我鼓励您使用 spring-boot:run 插件,该插件已经随 spring-boot 一起提供

用法:mvn clean spring-boot:run

关于java - maven-cargo2-plugin 如何识别我的 Spring Boot 应用程序已经运行了嵌入式 Tomcat?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58846157/

相关文章:

java - 删除 JTable 的最后一行

maven - 一组的两个 Nexus 存储库中的 1.0.0-SNAPSHOT

hibernate - 参数值 [....] 与预期类型不匹配 [java.util.Collection (n/a)]

java - 如何用 Spring + Hibernate + MySQL 实现搜索过滤器?

java - 无法借助 ldif 文件将示例数据加载到 ldap 服务器中

Java,如何找出哪个类或方法使用了大量内存?

java - 跨不相关项目共享 Maven pom.xml 部分的最佳方式?

java - 如何使用MySQL数据库来验证用户身份?

java - 如何使用intellij进行远程调试?

java - 范围为 'runtime' 的 Maven 依赖项如何有用(使用)?