Tempo中,FDS的结构是最为简单,所以决定先从FDS入手,尝试在eclipse中debug。上一篇blog “
Tempo研究之在Eclipse中运行Intalio Server” 中已经讲了如何在eclipse建intalio server以及运行。
我们进入/tempo/trunk代码目录,也就是从svn上更新下来的目录,采用 build eclipse 命令,可以为各个组件产生各自的eclipse项目文件。当然,在此之前,你需要参考我的另一篇blog “
Build Tempo” 来了解如何build。
不过,采用build eclipse命令所产生的项目,只是普通的java project,而不是可以在eclipse中作为web app的web app project。但是这并不是很难的事情,你可以利用现有/tempo/trunk/fds目录在eclipse(lomboz)中新建一个Dynamic Web Project。这一步就不多叙述,结果如下:
然后需要更改geronimo-web.xml配置。因为这个配置是默认生成的,并不包含一些dependencies。可以参考intalio-bpms\repository\org\intalio\tempo\workflow\fds\5.0.0.3\fds-5.0.0.3.war\WEB-INF 目录下的geronimo-web.xml文件,获取dependencies配置,修改后的内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-1.1" xmlns:nam="http://geronimo.apache.org/xml/ns/naming-1.1" xmlns:sec="http://geronimo.apache.org/xml/ns/security-1.1" xmlns:dep="http://geronimo.apache.org/xml/ns/deployment-1.1">
<dep:environment>
<dep:moduleId>
<dep:groupId>org.intalio.tempo.workflow</dep:groupId>
<dep:artifactId>fds</dep:artifactId>
<dep:version>5.0.0.3</dep:version>
<dep:type>war</dep:type>
</dep:moduleId>
<dep:dependencies>
<dep:dependency>
<dep:groupId>xalan</dep:groupId>
<dep:artifactId>xalan</dep:artifactId>
<dep:version>2.7.0</dep:version>
</dep:dependency>
<!-- 2.6.2 is required -->
<dep:dependency>
<dep:groupId>xerces</dep:groupId>
<dep:artifactId>xercesImpl</dep:artifactId>
<dep:version>2.8.1</dep:version>
</dep:dependency>
<dep:dependency>
<dep:groupId>xom</dep:groupId>
<dep:artifactId>xom</dep:artifactId>
<dep:version>1.1</dep:version>
</dep:dependency>
<dep:dependency>
<dep:groupId>dom4j</dep:groupId>
<dep:artifactId>dom4j</dep:artifactId>
<dep:version>1.6.1</dep:version>
</dep:dependency>
<!-- 3.0 is required -->
<dep:dependency>
<dep:groupId>commons-httpclient</dep:groupId>
<dep:artifactId>commons-httpclient</dep:artifactId>
<dep:version>3.1-alpha1</dep:version>
</dep:dependency>
<dep:dependency>
<dep:groupId>jdom</dep:groupId>
<dep:artifactId>jdom</dep:artifactId>
<dep:version>1.0</dep:version>
</dep:dependency>
<!-- 1.0 is required -->
<dep:dependency>
<dep:groupId>stax</dep:groupId>
<dep:artifactId>stax-api</dep:artifactId>
<dep:version>1.0.1</dep:version>
</dep:dependency>
<!-- 1.2 is required -->
<dep:dependency>
<dep:groupId>commons-codec</dep:groupId>
<dep:artifactId>commons-codec</dep:artifactId>
<dep:version>1.3</dep:version>
</dep:dependency>
</dep:dependencies>
</dep:environment>
<context-root>/fds</context-root>
</web-app>
此时,暂且不要把fds工程增加到 eclipse中建立的 Intalio Server(其实是Geronimo Server),先启动server,然后进入Geronimo Web Console,将原有的org.intalio.tempo.workflow/fds/5.0.0.3/war这个web app war进行unintall操作。然后再将fds增加到server上,并同步。
但是,此时还有问题的,因为从svn上获取的fds代码,已经比原Intalio Server中的fds war版本更新,有一定的变动。需要将 fds-config.xml 文件,放到intalio-bpms\var\config目录下,而不是原来的fds war/web-inf/classes中。
做完这些操作,即可在eclipse中调试FDS了。
查看本文来源