【问题标题】:Java Spring project without Entry Point没有入口点的 Java Spring 项目
【发布时间】:2021-08-11 15:11:38
【问题描述】:

在尝试使用来自 GitHub 的一些 Spring 项目时,我发现该项目没有带有入口点的文件(public statics main),问题是如何启动此类项目?

【问题讨论】:

  • 你能链接存储库吗?

标签: java spring github jar war


【解决方案1】:

如果项目需要打包成WAR并部署到应用服务器上运行,“静态主”入口点来自应用服务器而不是你的应用。

在 Tomcat 的情况下,它在 org.apache.catalina.startup.Bootstrap 的类中

【讨论】:

    【解决方案2】:

    这取决于您将如何运行您的应用程序。 如果您只想在某个 IDE 或 JAR 文件下运行您的项目,那么声明以下 main 方法就足够了:

    @SpringBootApplication
    public class BackendServerApplication {
    
        public static void main(String [] args) {
            SpringApplication.run(BackendServerApplication.class);
        }
    }
    

    其中BackendServerApplication.class 是“入口点”类。

    如果您需要从 WAR 文件部署您的应用程序,您还必须扩展 SpringBootServletInitializer 类,但请记住 main 方法不会被调用(因为,正如 Ken Chan 提到的,入口点来自应用程序服务器,但不是您的应用程序)。您可以通过herehere 了解更多信息。

    @SpringBootApplication
    public class BackendServerApplication extends SpringBootServletInitializer {
    
        public static void main(String [] args) {
            SpringApplication.run(BackendServerApplication.class);
        }
    }
    

    【讨论】:

    • 谢谢,我会努力的:)
    • 很抱歉,如果现有项目不是 Spring Boot 应用程序(我认为不是,否则 OP 应该已经找到主类),将其迁移到 spring-boot 项目是不仅仅是添加一个 @SpringBootApplication 类,您还需要为迁移做更多的事情。
    猜你喜欢
    • 2021-03-02
    • 1970-01-01
    • 2019-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-11
    • 2022-12-10
    • 2019-11-23
    相关资源
    最近更新 更多