Java 如何为非嵌入式服务器定义spring引导应用程序属性?

Java 如何为非嵌入式服务器定义spring引导应用程序属性?,java,spring-boot,Java,Spring Boot,我在JBoss EAP 7服务器上部署了一个spring boot应用程序,我想知道如何在我的服务器上使用以下属性: server.address= server.port= server.servlet.context-path= 据我所知,这些属性只有被盗用的服务器才能识别——这不是我的情况 你们知道我该如何解决这个问题吗?既然你们不使用嵌入式服务器,你们应该转到JBoss EAP服务器管理端。我从未使用过它,但我发现了一些文档: server.servlet.context-path=

我在JBoss EAP 7服务器上部署了一个spring boot应用程序,我想知道如何在我的服务器上使用以下属性:

server.address=
server.port=
server.servlet.context-path=
据我所知,这些属性只有被盗用的服务器才能识别——这不是我的情况


你们知道我该如何解决这个问题吗?

既然你们不使用嵌入式服务器,你们应该转到JBoss EAP服务器管理端。我从未使用过它,但我发现了一些文档:

  • server.servlet.context-path= 它通常是war文件的名称。下面是在JBoss EAP中部署war的文档:。在本例中,上下文路径为/testapplication

  • 服务器地址= 服务器端口= 对于这两个变量,您必须编辑standalone.xml文件(当然,如果您在standalone server mod中):。
    地址与接口相同。但如果你不知道自己在做什么,就不应该改变它。
    要更改端口,您必须在standalone.xml中找到行
    ,并随端口更改8080


    • @NicolasV的回答间接地说明了这一点,但我想更直接地回答这个问题。您不能使用Spring的属性机制来配置非嵌入式应用程序服务器,因为在这种情况下,应用程序服务器通常需要先启动并运行,然后才能运行您的Spring应用程序。是Spring应用程序的代码实现了Spring配置机制。因此,当您的应用程序运行时,Spring配置可用时,服务器的启动过程已经太晚了

      从技术上讲,您的应用程序服务器可以访问Spring的文件来使用它们进行配置,或者运行Spring的一小部分来获取配置值,但我认为这没有多大意义,我从来没有听说过这样的事情。正如NicolasV所解释的,您需要使用应用服务器的配置机制

      server.servlet.context-path= server.address= server.port=