在启动类里加上如下方法:
@EventListener({ApplicationReadyEvent.class})
void applicationReadyEvent() {
System.out.println("应用已经准备就绪 ... 启动浏览器");
String url = "http://localhost:8081";
Runtime runtime = Runtime.getRuntime();
try {
runtime.exec("rundll32 url.dll,FileProtocolHandler " + url);
} catch (IOException e) {
e.printStackTrace();
}
}
如果考虑端口号灵活配置的话,可以动态获取端口号:
/**
* 获取当前机器的端口号
*
* @return
* @throws MalformedObjectNameException
*/
public static String getLocalPort() {
MBeanServer beanServer = ManagementFactory.getPlatformMBeanServer();
Set<ObjectName> objectNames = null;
try {
objectNames = beanServer.queryNames(new ObjectName("*:type=Connector,*"),
Query.match(Query.attr("protocol"), Query.value("HTTP/1.1")));
String port = objectNames.iterator().next().getKeyProperty("port");
return port;
} catch (MalformedObjectNameException e) {
e.printStackTrace();
}
return null;
}
String url = "http://localhost:" + getLocalPort();
附录:
毕竟每次更新代码,重新启动都会弹出新的登录页面,也是挺不方便的,我们只是想启动完,刷新下页面就好了,所以再设置下 springboot 热加载方法:
这样改完代码后,只需要 Ctrl+s 保存下,就会触发重新编译不需要每次重启了(即使保存,也会定时自动触发)
这里有一点不太方便就是,代码没写完,有可能就自动编译了,看着控制台报错,会影响心情 😳 😳
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于