2010-01-21 24 views
0

我最近「解決了」OC4J中關於使用Xerces而不是OC4J的內置解析器的一個常見問題。這個問題是通過加入這一行到全球網絡的application.xml解決:OC4J問題:global-web-application.xml Works,orion-web.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>

不幸的是,事實證明,利用全球網絡的application.xml工作,採用獵戶座-web.xml沒有

OC4J版本是10.1.3.5。

任何人都可以建議嗎?

回答

2

另一種方法是在部署時指定。請看:

指定搜索本地類先在部署時

下面的例子說明了如何設置搜索本地類,第一個屬性在生成的獵戶座-web.xml文件部署時使用Application Server Control的Web模塊。

  1. 選擇Applications> Deploy以啓動Application Server Control部署嚮導。
  2. 在嚮導的第一頁中提供應用程序的路徑。
  3. 指定應用程序名稱並在第二頁提供任何上下文URI映射。
  4. 單擊向導的第三頁中的配置類加載(部署:部署設置)。
  5. 在Configure Web Module Class Loaders下,選中包含要使用的本地JAR文件的Web模塊名稱旁邊的Search Local Classes First複選框。
  6. (可選)單擊保存部署計劃按鈕,並保存該計劃以供重用。
0

我想你可以用不同的方式解決這個問題。使用屬性,並刪除庫。

有兩個屬性:

xml.driver.property

xml.driver.impl

一個定義解析器接口和其他實施。你可以從一個實現切換到另一個實現。

例如,我們有:

xml.driver.property = org.xml.sax.driver

xml.driver.impl = org.apache.xerces.parsers.SAXParser

由於這是一個系統屬性,您可以用許多不同的方式加載它。我們使用一個安裝在所有OC4J實例(容器)中的特殊servlet,它們在運行時加載其他屬性。

「稍微」遲了一點,但希望它有幫助。

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> 

行家的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>