我很想知道如何在Spring启动应用程序中管理tomcat依赖关系。简而言之,Spring启动应用程序通常嵌入容器,使应用程序独立于服务器上的任何其他应用程序。但是,我还需要将应用程序部署到外部容器。这让我想到了如何在提供的容器内外工作的单个构建。我知道我可以简单地构建一个war文件(使用maven),然后使用" java -jar my.war"执行它。以及将其放入提供的容器中并运行它。但是,如果我把它放在容器中,我在应用程序中有容器库。这对我来说似乎很糟糕,我想知道是否有其他人对此有意见,他们想分享。
答案 0 :(得分:2)
如果您要构建一个您希望可执行的war文件(使用java -jar
运行)并且要部署到容器,那么您应该按照提供的标记Tomcat依赖项。这会将它们打包在war文件的WEB-INF/lib-provided
目录中。 Spring Boot的可执行战争支持将从那里加载它们,但是你的容器会忽略它们 - 它只会从WEB-INF/lib
中的jar加载类。