在不重新启动JBoss的情况下部署java类文件

时间:2010-04-29 14:55:22

标签: java jboss

我想知道是否可以在不重启JBoss服务器的情况下部署java类文件。我正在使用jboss v4.2.2。

此外,当我尝试部署jsp文件时,它工作正常,服务器几乎立即获取更改。

提前多多感谢:)

4 个答案:

答案 0 :(得分:3)

我使用Tomcat比使用JBoss更好,但是应该可以(如在Tomcat中)重新启动应用程序而无需重新启动应用服务器。如果服务器具有“开发模式”且处于活动状态,则应该可以仅通过touch WEB-INF/web.xml来触发应用程序重启,即更新其时间戳。这应该会加载您之前替换的类文件。

答案 1 :(得分:0)

理论上,您永远不必重新启动整个服务器,只需重新启动特定应用程序(ear-s)。 JBoss(使用默认设置)会自动重新部署您的耳朵,如果它注意到它的任何变化。只需将新版本复制到它上面即可。

如果你还没有使用它,请查看JBoss Tools的eclipse插件集,以简化开发过程中的整个部署过程:http://www.jboss.org/tools

答案 2 :(得分:0)

是的,可以重新部署类文件,而无需每次都停止和启动服务器。

你唯一要做的就是建立一个到应用程序目录的连接点或符号链接(在eclipse中通常是“WebContent”)并在Jboss中输入你想要的名称。

我已经制作了一个分步教程here

答案 3 :(得分:0)

将应用程序部署为爆炸(project.war文件夹),添加到您的web.xml:

<web-app>
    <context-param>
        <param-name>org.jboss.weld.development</param-name>
        <param-value>true</param-value>
    </context-param>

每次部署时都覆盖web.xml:

set PRJ_HOME=C:\Temp2\MyProject\src\main\webapp
set PRJ_CLSS_HOME=%PRJ_HOME%\WEB-INF\classes\com\myProject

set JBOSS_HOME= C:\Java\jboss-4.2.3.GA-jdk6\server\default\deploy\MyProject.war
set JBOSS_CLSS_HOME= %JBOSS_HOME%\WEB-INF\classes\com\myProject

copy %PRJ_CLSS_HOME%\frontend\actions\profile\ProfileAction.class %JBOSS_CLSS_HOME%\frontend\actions\profile\ProfileAction.class
copy %PRJ_CLSS_HOME%\frontend\actions\profile\AjaxAction.class %JBOSS_CLSS_HOME%\frontend\actions\profile\AjaxAction.class

ECHO.>>%JBOSS_HOME%\WEB-INF\web.xml