你好,我在向应用程序添加春季邮件后遇到了一个问题。这些是问题所在的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}
。