从shell脚本运行spring boot并在控制台上打印URL

时间:2018-11-03 12:13:12

标签: shell maven spring-boot

我有一个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"));
    }
}

1 个答案:

答案 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收集

这只是一个主意,我没有可以测试的环境,希望对您有所帮助!

More on Spring Events