【问题标题】:server.port properties not working after buildin spring boot project在 Spring Boot 项目中构建后 server.port 属性不起作用
【发布时间】:2017-11-29 05:36:23
【问题描述】:

我正在开发 Spring Boot 项目,一切正常,现在我想构建并运行该应用程序。 在 application.properties 文件中我设置属性server.port = 8090 使用 maven 构建项目后,我运行以下命令 java -jar jarfilename.jar 但它说端口 8080 已在使用中。 我试试这些命令:

java -jar  -Dport=8090 jarfilename.jar

java -jar  jarfilename.jar --port=8090

但我也收到了相同的消息,端口 8080 已在使用中。

我想知道为什么它需要端口号 8080 而忽略我在 application.properties 文件中设置的端口号 8090

注意:(我使用的是 tomcat 嵌入式服务器),当我检查文件夹 target/classes..application.properties 时,我没有找到属性 server.port=8090

谁能给我解释一下到底发生了什么? 提前致谢。

【问题讨论】:

  • 试试:“java -jar -Dserver.port=8090 jarfilename.jar”命令
  • 嗨@SándorJuhos 非常感谢你,它工作正常,但你能解释一下为什么它忽略了application.properties 文件中的属性server.port = 8090 吗?
  • @Ali,您使用的是带有嵌入式 tomcat 还是独立 tomcat 的 springboot? server.port 仅适用于嵌入式 tomcat 模式。如果您使用的是独立的 tomcat,则它不起作用。您必须通过在tomcat的server.xml中手动配置来设置端口。你能确认一下吗?
  • 感谢 @harshavmb 的 timr,是的,我正在使用嵌入式 tomcat,但我解决了问题,问候

标签: java spring maven tomcat spring-boot


【解决方案1】:

application.properties 是否位于正确的位置? 来自Spring.io的描述:

SpringApplication 将从以下位置的 application.properties 文件中加载属性并将它们添加到 Spring 环境中:

  1. 当前目录的 /config 子目录。
  2. 当前目录
  3. 类路径 /config 包
  4. 类路径根

列表按优先级排序(在列表中较高位置定义的属性会覆盖在较低位置定义的属性)。

使用java -jar -Dserver.port=8090 jarfilename.jar 从命令行设置端口。

提示,来自Spring.io:如果您想使用短期-Dport=8090,您可以在应用程序属性文件中使用server.port=${port:8080}

【讨论】:

    【解决方案2】:

    我遇到了同样的问题,就我而言,我没有将参数传递给 SpringApplication。

    public static void main(String[] args) {
        SpringApplication.run(MySpringConfiguration.class);
    }
    

    应该是

    public static void main(String[] args) {
        SpringApplication.run(MySpringConfiguration.class, args);
    }
    

    【讨论】:

      【解决方案3】:

      我知道这是一篇旧帖子,但我可能知道答案(也许它会对其他人有所帮助):配置设置存在层次结构。

      applicon.properties 文件在底部(OS 环境变量、Java 系统属性等都在上面),另一方面,终端参数在顶部。

      因此,当服务器初始化时,它使用了属性设置中的端口,该端口在层次结构中较高。

      【讨论】:

      • FIY:在 PowerShell 中“-Dserver.port=”参数不起作用,您可以改用“--server.port=”,但它应该在 jar 文件的路径之后。使用 CMD,两者都有效。
      猜你喜欢
      • 2015-10-14
      • 2019-06-09
      • 1970-01-01
      • 2021-12-02
      • 2016-09-20
      • 2019-11-27
      • 2018-12-18
      • 2021-08-03
      • 2016-08-06
      相关资源
      最近更新 更多