Jam*_*mes 0 java spring tomcat maven spring-boot
我正在从事Spring Boot项目,并且一切正常,现在我想构建并运行该应用程序。在application.properties文件中,我server.port = 8090
使用maven构建项目后设置了属性,我运行以下命令,
java -jar jarfilename.jar但它表示端口8080已在使用中。我尝试这些命令:
java -jar -Dport=8090 jarfilename.jar
Run Code Online (Sandbox Code Playgroud)
和
java -jar jarfilename.jar --port=8090
Run Code Online (Sandbox Code Playgroud)
但我也得到了相同的消息,端口8080已经在使用中。
我想知道为什么要使用端口号8080 而忽略8090我在application.properties文件中设置的端口号。
注意:(我使用的是tomcat嵌入式服务器),当我检查target / classes..application.properties文件夹时,没有找到property server.port=8090。
谁能向我解释到底发生了什么?提前致谢。
小智 6
application.properties是否位于正确的位置?来自Spring.io的描述:
SpringApplication将在以下位置从application.properties文件加载属性,并将其添加到Spring Environment:
- 当前目录的/ config子目录。
- 当前目录
- 类路径/ config包
- 类路径根
该列表按优先级排序(在列表较高位置定义的属性会覆盖在较低位置定义的属性)。
用于java -jar -Dserver.port=8090 jarfilename.jar从命令行设置端口。
Hint, from Spring.io: If you want to use the short term -Dport=8090, you can use server.port=${port:8080} in your application property file.
小智 5
我遇到了同样的问题,就我而言,我没有将参数传递给 SpringApplication。
public static void main(String[] args) {
SpringApplication.run(MySpringConfiguration.class);
}
Run Code Online (Sandbox Code Playgroud)
应该
public static void main(String[] args) {
SpringApplication.run(MySpringConfiguration.class, args);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5127 次 |
| 最近记录: |