1

我正在编写一个使用 Axis2 部署在 Tomcat 上的 Web 服务。我正在使用 Hibernate3 在 Web 服务和 MySQL 数据库之间保存数据。

通过 IDE 运行应用程序时,我通过 Axis2 公开的方法按预期工作,但是当我将 .aar 部署到 Tomcat 时,我收到一个 SOAP 错误,声称找不到 hibernate.cfg.xml。

但是,在 .aar 中,我清楚地看到所有配置文件和所有映射文件都包含在内。

我已经确定了一个解决方法:如果我将 Netbeans build/class 文件夹中的结果文件放入 axis2/WEB-INF/class 文件夹,那么应用程序将按预期工作。

那么,我的问题是,是否有更好的方法来部署我的应用程序,以便 Axis2 将通过部署的 .aar 获取配置和映射文件,而无需我手动将 build/class 文件夹的内容复制到 axis2/WEB -INF/类文件夹?

4

1 回答 1

0

在 .aar 存档中应该有一个 /META-INF/services.xml 文件。编辑该文件并将 ServiceTCCL 参数设置为复合您的服务:

<parameter name="ServiceTCCL">composite</parameter>

然后将 hibernate.cfg.xml 放在 .aar 存档中的相同 META-INF 目录中。这将使配置文件可供 Hibernate 从类路径加载。

于 2011-04-15T19:05:43.843 回答