Spring引导+Spring邮件:标准{PORT}问题



你好,我在向应用程序添加春季邮件后遇到了一个问题。这些是问题所在的app.propreties。

spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.auth=true
server.port=${PORT}

这就是我在EmailConfig类中绑定它的方式

@Value("${spring.mail.port}")
private int port;

这也是我使用的邮件

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
<version>2.3.1.RELEASE</version>
</dependency>

每次我启动应用程序时,我都会收到这个错误:

Description:
Failed to bind properties under 'server.port' to java.lang.Integer:
Property: server.port
Value: ${PORT}
Origin: class path resource [application.properties]:20:13
Reason: failed to convert java.lang.String to java.lang.Integer
Action:
Update your application's configuration

由于某种原因,我似乎无法在基本的8080端口上发出请求。所以我将server.port修改为这个server.port=${PORT:9191},它可以工作,但由于某种原因我的一些页面出现了一些请求问题。问题是,我在另一个应用程序上有同样的配置,它可以在不需要将端口修改为不同数字的情况下工作。为什么会发生这种情况?我想留在标准港口。

如有任何帮助,我们将不胜感激!

如果您想保留在标准端口上,请从application.properties中删除server.port行(这样它就可以在8080上运行(。

server.port-用于将应用程序配置为在标准端口以外的其他端口中运行。

spring.mail.port-用于配置smtp服务器端口。如果您的smtp服务器使用标准端口,则无需配置此属性。

具有相同配置的另一个应用程序将在环境变量或系统属性中设置PORT值。在不为PORT变量分配任何值的情况下运行应用程序是不可能的,因为它是一个配置参数。

app.properties具有server.port属性,而在代码中您尝试访问空的${spring.mail.port}

相关内容

最新更新