运行 Spring 引导 JAR 应用程序不会使用浏览器打开 URL(https://localhost:8080/)



我有一个Spring Boot JAR应用程序。当我运行它时,没有浏览器自动显示https://localhost:8080/.但是手动键入提到的 URL 工作正常,并且应用程序运行。

@SpringBootApplication
@ImportResource({ "classpath:applicationContext.xml" })
public class StockMaintenanceSystemApplication extends WebMvcConfigurerAdapter {
    public static void main(String[] args) throws Exception {
        SpringApplication.run(StockMaintenanceSystemApplication.class, args);
    }
}

我需要在任何地方设置URL(https://localhost:8080/)吗?如果没有,请更正我的代码。

当您构建 jar 文件并运行它时,它不会自动为您打开浏览器。在服务器环境中部署时使用文件 jar,这与你仍然习惯的开发人员环境完全不同,当你使用 IDE 时,你的工作是只需单击"运行按钮",IDE 就会构建 jar 文件,运行它并自动为你打开浏览器。

这里的解决方案是您可以编写执行 shell 命令的函数,并在main函数上调用它。可以chrome.exe localhost:8080 shell 命令

如果我理解正确,您的意思是当您启动 Spring 启动应用程序时浏览器不会打开新选项卡。

如果是这种情况,它不应该打开一个新选项卡,它只是在您的 PC 上启动服务,您需要手动导航到该地址。这根本不是弹簧靴做的事情。

在运行应用程序后打开浏览器是IDE的责任。仅当您将应用程序打包为WAR文件、配置应用程序服务器(如 Tomcat)并通过 IDE 重新启动容器时,IDE 才能打开浏览器。

因此,如果将应用程序打包为JAR文件,则需要打开Web浏览器并键入所需的链接(localhost:8080)。但是有一些技巧可以应对这种情况。

我解决了我的问题。

import java.io.IOException;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ImportResource;
@SpringBootApplication
@ImportResource({ "classpath:applicationContext.xml" })
public class StockMaintenanceSystemApplication {
    public static void main(String[] args) throws IOException {
        SpringApplication.run(StockMaintenanceSystemApplication.class, args);
        openHomePage();
    }
    private static void openHomePage() throws IOException {
        String url = "http://localhost:8080/";
        Runtime rt = Runtime.getRuntime();
        rt.exec("rundll32 url.dll,FileProtocolHandler " + url);
    }
}

相关内容

最新更新