Out项目使用WebLogic作为Web服务器,主要使用JSP作为用户界面。通过标准设置,可以将已编辑的JSP文件复制到展开的部署目录中,WebLogic将自动选择它们,重新编译并通过HTTP提供新内容。但是,是否有可能完全避免复制,所以我只是在我的编辑器中保存一个文件,它立即(好的,重新编译几秒钟后)可见?
该项目使用Apache Ant作为构建工具。我想象我想用symlinks可以实现什么(因为这只是为了部署而我不关心跨平台性),但是我不知道如何用Ant同时对大量文件进行符号链接。
那么,我如何实现save-JSP-hit-F5-in-browser功能
答案 0 :(得分:1)
您可以将所有JSP文件放在jsp
文件夹下,然后将该文件夹符号链接到展开的部署目录中的WEB-INF文件夹中。
Ant有一个创建单个符号链接的视频任务。该任务可以创建符号链接的目录,但通过记录那里的符号链接然后稍后重新创建它们来工作。 (例如,您可以使用shell脚本在jsp源中初始创建符号链接,使用Ant记录创建的链接,该链接存储在包含源文件夹的文本文件中,然后使用此文本文件稍后重新创建链接。)
答案 1 :(得分:0)
可以设置一个cron作业来监视JSP文件的源目录,并将它们复制到服务器上的目标目录中。持续集成工具可以执行此类操作,以便通过签入代码来触发构建。 SourceForge有一个执行它的服务器,CruiseControl是另一个。
答案 2 :(得分:0)
最后,我不得不使用Ant的exec
工具,因为它的symlink
非常不方便。此外,delete
遵循默认情况下的符号链接 ,我发现了一个可怕的设计决定(幸运的是我没有删除任何无法从VCS恢复的内容)。如果它被指示不跟随链接,那么它也不会删除它们(1.8中有一个标志,但我必须使用旧版本)。所以,我不得不用基本上只运行delete
的{{1}}替换干净的目标exec
- 它比20多行Ant mumbo-jumbo更容易。
此外,如果有人要做类似的事情:如果在目录中创建符号链接,请不要忘记使用rm -r
选项-t
。否则,重复运行将在符号链接指向的目录内创建另一个链接。
总而言之,它现在正在运作,但我对Ant很失望。我想这一切都来自Java缺少的符号链接支持,但仍然......