我最近“解决”了OC4J中关于使用Xerces而不是OC4J的内置解析器的一个常见问题。通过将此行添加到global-web-application.xml来解决该问题:
<web-app-class-loader search-local-classes-first="true"/>
不幸的是,这可能会导致应用服务器出现问题,因此我尝试通过在应用的WEB-INF目录中创建以下orion-web.xml文件来解决它:
<?xml version="1.0"?>
<orion-web-app
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://xmlns.oracle.com/oracleas/schema/orion-web-10_0.xsd">
<web-app-class-loader search-local-classes-first="true" include-war-manifest-class-path="true"/>
<web-app/>
</orion-web-app>
不幸的是,事实证明使用global-web-application.xml工作,使用orion-web.xml没有
OC4J版本为10.1.3.5。
有人可以提供建议吗?
答案 0 :(得分:2)
另一种方法是在部署时指定。看看:
首先在部署时指定search-local-classes -
以下示例说明如何使用Application Server Control在部署时为Web模块生成的orion-web.xml文件中设置search-local-classes-first属性。
答案 1 :(得分:0)
我认为你可以用不同的方式解决这个问题。使用属性和删除库。
有两个属性:
<强> xml.driver.property 强>
<强> xml.driver.impl 强>
一个定义解析器接口,另一个定义实现。您可以从一个实现切换到另一个实现。
例如我们有:
xml.driver.property = org.xml.sax.driver
xml.driver.impl = org.apache.xerces.parsers.SAXParser
由于这是系统属性,您可以通过多种不同方式加载它。我们使用安装在所有OC4J实例(容器)中的特殊servlet,在运行时加载其他属性。
一点点“迟到”,但希望有所帮助。
答案 2 :(得分:0)
最后,我在我的OC4J 10.13(和10.13.50)上运行JAXB2(由Spring WS 2.1.4使用)。 JAXB需要xalan lib。
的orion-web.xml中
<?xml version="1.0"?>
<!DOCTYPE orion-web-app PUBLIC "-//Evermind//DTD Orion Web Application 2.3//EN"
"http://xmlns.oracle.com/ias/dtds/orion-web.dtd">
<orion-web-app
persistence-path=""
jsp-cache-directory="./persistence"
jsp-cache-tlds="standard"
simple-jsp-mapping="false"
temporary-directory="./temp"
servlet-webdir="/servlet/"
>
<web-app-class-loader search-local-classes-first="true"/>
</orion-web-app>
maven pom.xml
<!-- JAXB implemetation by EclipseLink MOXy-->
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>eclipselink</artifactId>
<version>2.5.1</version>
<scope>compile</scope>
</dependency>
<!-- Specific dependencies for OC4J v1013 -->
<dependency>
<groupId>xalan</groupId>
<artifactId>xalan</artifactId>
<version>2.7.1</version>
<scope>runtime</scope>
<exclusions>
<exclusion>
<groupId>xml-apis</groupId>
<artifactId>xml-apis</artifactId>
</exclusion>
</exclusions>
</dependency>