假设我有一个Spring引导Web应用程序 - 它可以通过gradle(嵌入式tomcat)运行。但是我也需要它能够以标准方式将战争部署到应用程序服务器中。应如何配置应用?标准 web.xml以及 xml 配置?
目前我有这样的东西:
@SpringBootApplication
公共类MyApplication扩展了SpringBootServletLaunalizer{
public static void main(String[] args) {
System.setProperty("spring.profiles.active", "dev");
SpringApplication.run(MyApplication.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(MyApplication.class);
}
@Configuration
@ConditionalOnWebApplication
public static class WebConfiguration {
@Bean
public ServletListenerRegistrationBean<ServletContextListener> registerClientCookieConfigListener () {
ServletListenerRegistrationBean<ServletContextListener> srb =
new ServletListenerRegistrationBean<>();
srb.setListener(new MyConfigListener());
return srb;
}
@Bean
public ServletListenerRegistrationBean<HttpSessionListener> registerMySessionConfigListener () {
ServletListenerRegistrationBean<HttpSessionListener> srb =
new ServletListenerRegistrationBean<>();
srb.setListener(new MySessionConfigListener());
return srb;
}
@Bean
public FilterRegistrationBean registerLoginFilter() {
FilterRegistrationBean filter = new FilterRegistrationBean(new MyFilter());
filter.setUrlPatterns(Collections.singletonList("/*"));
return filter;
}
@Bean
public ServletRegistrationBean registerSAMLDispatcherServlet() {
ServletRegistrationBean bean = new ServletRegistrationBean(
new DispatcherServlet(), "/test/*");
bean.setLoadOnStartup(1);
return bean;
}
}
}
这是1:1映射到web.xml。是否有可能在没有Web.xml的情况下将其部署到应用程序服务器?
你不需要网络。xml将spring boot部署到独立的tomcat服务器或任何其他web服务器。
Spring Boot不依赖于xml配置,它会自动配置一个等效于调度器servlet。
要将spring boot应用程序部署到另一台服务器,您需要在maven中将包更新为war
<packaging>war</packaging>
并告诉maven Web服务器将在运行时中可用,并且不要将其与提供
的范围打包
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
文档很少
https://www.baeldung.com/spring-boot-war-tomcat-deploy
https://www.mkyong.com/spring-boot/spring-boot-deploy-war-file-to-tomcat/
我想部署一个war文件,我们称之为应用程序。战争,在嵌入的码头上。 所以最简单的代码是: 路径最终类似于“/dist/app.war”。当从Eclipse运行时,它就像一个符咒,但是当我想从我的项目的一个可运行的jar中做同样的事情时,情况会变得更糟。 即使jar架构很好: META-INF 找不到该文件。我知道标准路径在运行jar文件时不一致,但尝试使用"jar: file:.../projec
我们已经部署了JBoss 6.1应用服务器,它承载了一个在Spring中编写的java应用程序。现在我们正在使用HTML PHP创建另一个应用程序。是否可以在现有的JBossAS部署上部署PHP应用程序?我在网上读到,要部署php应用程序,我需要Jboss native,JbossAS不起作用。
问题内容: 我有一个构建过程,之后将我的战争上传到我们本地的Maven存储库。 当我们部署到TEST和PROD时,我想使用maven cargo插件并指定要部署到这些环境的版本。如何配置pom(或者可能是一个名为pom-deploy.xml的新pom)以从存储库中拉出特定的战争并进行远程部署? 谢谢 问题答案: 要在新项目中获取WAR文件,只需为其声明一个依赖项。
我遇到了一个与Gradle 4.8.1建立战争的问题。这是构建。格拉德尔: 我还尝试删除“maven”插件、archivesBaseName和uploadArchive任务,同时取消对war任务的注释,得到了相同的结果。使用uploadArchive时,war可以很好地部署到nexus服务器,我没有发现任何错误。在将war部署到tomcat(在这两种情况下)时,tomcat 7和8不会抛出错误,我
我跟随以下帖子,但这些都没有帮助我。邮政一、邮政二、邮政03、邮政04 我花了两天时间寻找答案,请帮帮我。
我有一个启动应用程序,部署到一个外部tomcat服务器,一切工作在我的本地与本地数据库。现在,我必须将代码推广到数据库配置不同的更高环境。我读了很多关于配置文件的etc...,但是当它是一个外部tomcat并且不使用