运行 来自 EAR 项目的主要项目

Run main in a project from EAR project

我正在为 jboss eap 6.4 开发一个 EAR 项目,我需要在项目部署时 运行 一些代码行。我试图向属于 EAR 项目的项目添加一个 java main class,并在 Run/Debug Settings 上将其设置在该项目上。但它不起作用。

那么问题来了,如何在EAR项目部署时运行一个mainclass,或者一段代码。

谢谢!!

如果你想在项目部署时运行一些代码行你可以使用以下选项:

(1) 覆盖ServletContextListener方法,contextInitialized(ServletContextEvent sce)方法将在服务器启动时自动调用。 这是更好的方法。

(2) 使用Servlet里面的代码init(),会在servlet初始化时调用

(3) 为您的 main class 使用 static 初始值设定项,它将 运行 您的代码在服务器容器的 class 加载期间.

首选方法是选项 (1),您可以在 here 中查找 ServletContextListener

所以最后我在我的EAR项目中的web项目中创建了一个class如下:

import javax.ws.rs.ApplicationPath;
import javax.ws.rs.core.Application;

@ApplicationPath("/")
public class RestApplication extends Application {

    public RestApplication(){
        /* Code to be executed upon deployment */
    }
}