0

我正在为 IBM BPM 开发一个自定义应用程序,该应用程序使用以下库:、 、 、 和Jace.jar用于pe.jar调用log4j.jarWebstax-api.jar服务。xlxpScanner.jarxlxpScannerUtils.jar

当我创建一个 java 项目并添加这些库时,它工作正常。当我使用 tomcat 8 作为服务器创建动态 Web 项目时,它也可以正常工作;但是在使用jboss时调用网络服务时我没有得到预期的结果。那么,有人知道如何禁用使用这些库的模块吗?或者在哪里可以找到有关它的信息?

我希望我的应用程序独立于服务器。

这是我的代码:

try {
     VWSession vwSession = new VWSession("userName", "userPass", "connPt");
     vwSession.isLoggedOn(); /* It's loaded with 'false' value in jboss. 
                                In tomcat it's loaded with 'true' value */
} catch (Exception e) {
     Logger.getLogger(getClass().getName()).log(Level.FATAL, "Details: ", e);
}
4

1 回答 1

0

要创建与服务器无关的应用程序,您需要严格遵守 Java EE 规范。意思是,仅使用作为您正在使用的 Java EE 版本的一部分捆绑的那些 jar。此外,在某些情况下需要使用特定于给定应用程序服务器的某些部署描述符。例如 - jboss-deployment-structure.xmlibm-application-bnd.xml等。

在您的情况下,xlxpScanner.jar它不是 Java EE 规范的一部分,因此使用当前设置不可能使应用程序服务器独立。您可以寻找用 Java EE 所拥有的东西来替换您正在使用的这个 jar 的一部分。简而言之,把这个罐子连同xlxpScannerUtils.jar.

或者,如果您希望 jboss 正确运行应用程序,请将所有 jar 添加到一个模块中,并使用jboss-deployment-structure.xml. 详细信息可以在这里找到。

于 2016-06-15T16:02:03.213 回答