当前位置: 首页 > 知识库问答 >
问题:

将NetBeans中的JSF页面热部署到JBoss独立

徐鸿达
2023-03-14

以下是设置:

  • 使用Subversion的多开发者环境

我们可能不会改变工具;我们既不能使用Maven,也不能使用JRebel。硬件升级也不在范围之内。

源代码(包括与web相关的文件)签出到:

C:\Apps\07-Work\Project\Project-Admin\Project-Admin-User-war\

这个目录包括一个通用的开发结构(粗体从存储库中签出):

  • 编译文件
  • dist-. war文件
  • nbproject-项目文件
  • src-Java源代码
  • web-JSF页面,WEB-INF目录,CSS文件等
  • build.xml-蚂蚁脚本

web应用程序服务器安装在:

C:\Apps\04-Tools\jboss-eap-6.2

开发-部署-测试周期非常缓慢。测试网页的单个更改可能需要30秒以上。以下是当前流程

  1. 在NetBeans中编辑文件。
  2. 保存文件。
  3. Shift F11(运行

构建(步骤3)大约需要26秒;手动部署更是雪上加霜。

以下是理想的开发周期:

  1. 在NetBeans中更改JSF页面(注意:这是从存储库中签出的文件)。
  2. 保存JSF页面。
  3. Alt Tab到浏览器窗口。
  4. F5来重新加载页面。

对Java源更改进行热部署并不重要,因为代码开发时间往往比简单的网页布局更改花费更长的时间。

编辑爆炸的内容将意味着开发人员不再编辑从存储库中签出的文件,因此将产生额外的步骤或脚本,或可能的工作损失。

其他人则建议禁用保存时部署功能:

另一个建议(根据屏幕截图)是在调试模式下运行应用程序,但选择调试

使用给定的工具和约束条件是否可以热部署JSF页面?如果是这样,实现理想的开发周期需要哪些具体步骤?

自述。txt文件显示可以“实时部署”内容:

H) 仅手动模式:在不重新部署的情况下实时替换当前部署的解压缩内容的部分:

cp -r target/example.war/foo.html $AS/standalone/deployments/example.war

其中Windows上的cp命令转换为:

xcopy /e /s /y src dest

这导致:

  1. 打开命令提示符

下一个:

  1. 删除skip部署:rm Project-Admin-User-war.war.skipdeploy
  2. 创建多部署:type nul

结果是一个资源包丢失:

  • 是否可以在JBoss AS 7中部署一个分解的war文件(解压war)

共有2个答案

彭允晨
2023-03-14

使用独立模式下运行的JBoss 6.2 EAP实现热部署分为三个部分:配置、展开和热部署。

确保部署扫描程序的配置如图所示:

确保配置了web子系统和系统属性:

>

  • 阻止JBoss。
  • 编辑%JBOSS_HOME%\独立\配置\standalone.xml
  • 紧接着

    <system-properties>
      <property name="java.net.preferIPv4Stack" value="true"/>
      <property name="org.jboss.as.web.deployment.DELETE_WORK_DIR_ONCONTEXTDESTROY" value="true"/>
    </system-properties>
    

    附加以下元素:

    <configuration>
        <jsp-configuration development="true"/>
    </configuration>
    

    爆炸需要提取WAR文件的全部内容,这些内容将在不久的将来部署。

    1. 清理并构建应用程序(NetBeans中的Shift F11)。
    2. 切换到JBoss独立部署目录。
    3. 创建一个跳过部署文件。
    4. 创建WAR目录。
    5. 提取WAR文件。
    6. 删除跳过部署文件。
    7. 创建do部署文件。

    这类似于以下内容(在Windows平台上;根据需要替换%JBOSS_HOME%和%PROJECT_HOME%的路径):

    cd %JBOSS_HOME%\standalone\deployments
    type nul >> Project-Admin-User-war.war.skipdeploy
    mkdir Project-Admin-User-war.war
    cd Project-Admin-User-war.war
    jar -xvf %PROJECT_HOME%\dist\Project-Admin-User-war.war
    cd ..
    del *skipdeploy
    type nul >> Project-Admin-User-war.war.dodeploy
    

    创建包含以下内容的批处理文件:

    cd %JBOSS_HOME%\standalone\deployments
    type nul >> Project-Admin-User-war.war.skipdeploy
    xcopy /i /y /e /s %PROJECT_HOME%\web Project-Admin-User-war.war
    del *skipdeploy
    type nul >> Project-Admin-User-war.war.dodeploy
    

    理想的开发周期已经基本实现:

    1. 在NetBeans中编辑文件
    2. 保存文件
    3. 运行批处理文件
    4. 将Alt Tab切换到浏览器
    5. F5刷新

    Ant有一个OnSaveTask,它可能被强制运行批处理,甚至完全替代批处理文件。留给读者作为练习。

  • 乌灿
    2023-03-14

    以下是在http://wiki.netbeans.org.上找到的2009年蚂蚁脚本更改的描述,也许它仍然有用。

    http://wiki.netbeans.org/TaT_DeployOnBuildUsingJBoss

    和另一个脚本解决方案:

    如何使用Netbeans设置JBoss服务器?

     类似资料:
    • 我有一个基于JSF 1.2的web应用程序。JSF JAR打包在WAR库中。我们尝试在JBoss EAP 7.0中部署war,war成功部署,但应用程序未运行。 我发现JBoss EAP 7.0不支持JSF 1.2。我的web应用程序不是JSF 2.0投诉。如果有人能列出这样做的步骤,那将大有裨益。 谢谢

    • 您好,我想问一下,如何配置jboss服务器,以实现实时、热处理等功能: 每次我更改jsp、html、js或css文件的一些代码时,我总是需要清理和构建项目,而不是一次又一次地将项目部署到jboss。那花了我很多时间。我为此浪费时间。当我可以处理已经使用已启动jboss(已部署)的文件时,这将很容易。但是这些文件在WAR文件“project.WAR”中,通过我的IDE(Netbeans),我无法编辑

    • 是否有使用Netbeans(8.0.2)在Wildfly上热部署ear文件的过程?我的当前生成过程(一个命令) 正在杀死我(每小时4/5个积木/香烟,一个积木3分钟)。 我在web上搜索了又搜索,听到人们谈论3毫秒的部署(我只能梦想),使用Netbeans“开箱即用”的热部署()以及在wildfly配置文件中向部署扫描程序添加。 但我还是没拿到。我的构建将我的部署发送到wildfly文件夹。而不是

    • 我是Java EE新手。我使用Eclipse、jBoss/WildFly和Maven。我有一个多模块Maven项目: 父Maven项目(pom) 目前,EJB项目打包在Web应用程序中,整个解决方案部署为一个文件。 我想更改它:我需要将war和jar项目独立地部署到应用服务器(作为两个独立的应用程序)。然后web项目可以通过远程接口访问EJB。 问题是: 我可以使用在Eclipse中部署项目 如何

    • 问题内容: 我有NetBeans 6.8,我写了一个包含两个库(jar文件)的类。构建它,我得到一个带有我的project.jar的“ dist”文件夹和一个包含两个lib jar文件的“ lib”文件夹。 如何将所有这些保存在一个jar文件中?(我不使用Maven / Ant或类似的东西。) 问题答案: 基本的问题是,当前版本的Java不支持开箱即用的jar。 推荐的解决方案是使用jar内MAN

    • 问题内容: 我有一个使用两个杰克逊注释的类: 在测试用例中,当我使用ObjectMapper来将接收到的JSON映射到MyObject本地环境时,它可以正常工作,但是,如果将模块部署到JBOSS AS中,所有注释都将被忽略,我不知道为什么。 我pom.xml有依赖性: 因此,该库将导入到部署中的WAR文件夹中。 为什么在部署后请忽略注释? 问题答案: 问题在于由于自动导入了较旧版本的Jackson