开发部署:如何使用JSP页面实现编辑和重新加载?

时间:2010-05-03 18:44:53

标签: jsp ant weblogic symlink

Out项目使用WebLogic作为Web服务器,主要使用JSP作为用户界面。通过标准设置,可以将已编辑的JSP文件复制到展开的部署目录中,WebLogic将自动选择它们,重新编译并通过HTTP提供新内容。但是,是否有可能完全避免复制,所以我只是在我的编辑器中保存一个文件,它立即(好的,重新编译几秒钟后)可见?

该项目使用Apache Ant作为构建工具。我想象我想用symlinks可以实现什么(因为这只是为了部署而我不关心跨平台性),但是我不知道如何用Ant同时对大量文件进行符号链接。

那么,我如何实现save-JSP-hit-F5-in-browser功能

  • 在WebLogic中进行了一些设置;或
  • 使用Apache Ant对符号链接JSP(而不是像现在这样复制它们);或
  • 完全不同的东西?

3 个答案:

答案 0 :(得分:1)

您可以将所有JSP文件放在jsp文件夹下,然后将该文件夹符号链接到展开的部署目录中的WEB-INF文件夹中。

Ant有一个创建单个符号链接的视频任务。该任务可以创建符号链接的目录,但通过记录那里的符号链接然后稍后重新创建它们来工作。 (例如,您可以使用shell脚本在jsp源中初始创建符号链接,使用Ant记录创建的链接,该链接存储在包含源文件夹的文本文件中,然后使用此文本文件稍后重新创建链接。)

http://ant.apache.org/manual/Tasks/symlink.html

答案 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缺少的符号链接支持,但仍然......