运行 来自 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 */
}
}
我正在为 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 */
}
}