这是设置:
我们可能不会改变工具;我们既不使用Maven也不使用JRebel。硬件升级也不在范围内。
源代码(包括与网络相关的文件)已签出:
C:\Apps\07-Work\Project\Project-Admin\Project-Admin-User-war\
此目录包含一个通用开发结构(从存储库中检出粗体):
Web应用程序服务器安装在:
C:\Apps\04-Tools\jboss-eap-6.2
开发 - 部署 - 测试周期非常缓慢。测试网页的单个更改可能需要30秒才能完成。这是当前的流程:
构建(步骤3)大约需要26秒;手动部署增加了这一点。
这是理想的开发周期:
对Java源代码更改进行热部署并不重要,因为代码开发时间往往比简单的Web页面布局更改需要更长的时间。
编辑exploded contents意味着开发人员不再编辑从存储库中检出的文件,因此会产生额外的步骤或脚本,或者可能会丢失工作。
其他人建议保存时部署功能,即disabled:
另一个建议(根据屏幕截图)是在调试模式下运行应用程序,但选择调试>>项目( Ctrl + F5 )在更改后未显示页面更新。
使用给定的工具和约束是否可以热部署JSF页面?如果是这样,实现理想开发周期所需的确切步骤是什么?
README.txt文件显示可以“实时部署”内容:
H)仅限手动模式:实时替换部分当前部署的解压缩内容而不重新部署:
cp -r target/example.war/foo.html $AS/standalone/deployments/example.war
Windows上的cp
命令转换为:
xcopy /e /s /y src dest
这导致:
cd C:\Apps\04-Tools\jboss-eap-6.2\standalone\deployments
type nul >> Project-Admin-User-war.war.skipdeploy
xcopy /i /y /e /s C:\Apps\07-Work\Project\Project-Admin\Project-Admin-User-war\web Project-Admin-User-war.war
下一步:
rm Project-Admin-User-war.war.skipdeploy
type nul >> Project-Admin-User-war.war.dodeploy
结果是资源包丢失了:
答案 0 :(得分:1)
以下是http://wiki.netbeans.org上2009年Ant脚本更改的说明。也许它仍然有用。
http://wiki.netbeans.org/TaT_DeployOnBuildUsingJBoss
另一个脚本解决方案:
答案 1 :(得分:0)
使用JBoss 6.2实现热部署在独立模式下运行的EAP分为三部分:配置,爆炸和热部署。
确保deployment scanner配置如下:
确保已配置Web子系统和系统属性:
%JBOSS_HOME%\standalone\configuration\standalone.xml
。在</extensions>
之后(<management>
之前),禁用缓存:
<system-properties>
<property name="java.net.preferIPv4Stack" value="true"/>
<property name="org.jboss.as.web.deployment.DELETE_WORK_DIR_ONCONTEXTDESTROY" value="true"/>
</system-properties>
xmlns="urn:jboss:domain:web...
)。附加以下元素:
<configuration>
<jsp-configuration development="true"/>
</configuration>
爆炸需要提取WAR文件的完整内容,其中包含将在(非常接近)未来部署的内容。
这类似于以下内容(在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
理想的开发周期几乎已经实现:
Ant有OnSaveTask可能被强制运行批处理,甚至完全替换批处理文件。留给读者练习。