我有一个shell脚本,它只是在构建和部署我的spring boot应用程序。
在此脚本中,我只有1条命令:
mvn spring-boot:run
在成功完成部署后,是否可以打印在其下部署我的应用程序的URL? 最好的办法是,如果我能以某种方式获得此URL并将其打印在控制台上。
编辑 我使用了以下解决方案
@Component
public class ListenerContainer {
@Autowired
Environment environment;
private Logger logger = LoggerFactory.getLogger(ListenerContainer.class);
@EventListener(ApplicationReadyEvent.class)
public void postStartupPrint() throws UnknownHostException {
logger.info("Application deployed under: http://"
+ InetAddress.getLocalHost().getHostAddress()
+ ":"
+ environment.getProperty("local.server.port"));
}
}
答案 0 :(得分:1)
您可以在上下文准备就绪后登录网址,该网址可以在mvn spring-boot:run
@Component
public class ListenerContainer {
// autowire & get logic for hostname & context path
@EventListener(ApplicationReadyEvent.class)
public void postStartupPrint() {
System.out.println(hostname + contextPath + "/actuator/health");
}
}
其中hostname
可从here收集,而contextPath
可从here收集
这只是一个主意,我没有可以测试的环境,希望对您有所帮助!