spring - 以编程方式设置 Jetty Spring 轮廓

标签 spring jetty profiles

我正在寻找一种以编程方式在jetty中设置spring配置文件的方法,以便服务器上的war文件使用给定配置文件的应用程序,这是我的代码:

final WebAppContext context = new WebAppContext();
context.setLogUrlOnStart(true);
context.setWar("target/deployables/myapp-rest/myapp-rest.war");
context.setContextPath("/" + TEST_APP_CONTEXT);
context.setParentLoaderPriority(true);
server.setHandler(context);
server.start();

我尝试了一些方法,但似乎都不起作用...我需要传递 -Dspring.profiles.active=myProfile

最佳答案

这是使用 Jetty 9.3 进行测试的,但 webdefault.xml 似乎也适用于较低版本(但其位置可能有所不同)。

转到$JETTY_HOME/etc并打开webdefault.xml。在文件中搜索 context-param。将此代码添加到下面的某个位置:

<context-param>
   <param-name>spring.profiles.default</param-name>
   <param-value>prod</param-value>
</context-param>

如果您的 web.xml(在 your-app.war 文件中)不包含此 context-param,这将起作用.

否则,您也可以使用 override-web.xml ( docs ),但您需要在 jetty-web.xmljetty 中配置它-web.xml 必须捆绑在 war 中...所以 YMMV,但我不想改变我的 war ,webdefault.xml 对我来说是一个更简单的解决方案。

关于spring - 以编程方式设置 Jetty Spring 轮廓,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24163447/

相关文章:

scala - 我应该如何解决两个不同用户的登录身份验证问题?

spring - Spring Data REST 是否支持 JPA @Version?

java - 在 Spring Boot 中处理嵌入式 Tomcat 异常

java - 在 Java 中更新应用程序属性

maven - Maven,不同配置文件的xml文件

sharepoint - 除了配置文件之外,还可以在 Sharepoint 中存储用户设置

java - textarea 不适用于具有值的文档加载

asynchronous - 如何使用异步 servlet 修改代理响应?

java - Jetty 和 Netty 有什么区别?

maven-2 - 记录 Jetty SSL 客户端证书问题