Jaxb2.1.12を実行しているアプリケーションがあります。JDK1.5とOC4J10.1.3.4.0を実行しています。アプリケーションでJaxbを使用している部分を使用しようとすると、次のエラーが発生します。
Unable to locate jaxb.properties for package
これをOC4Jに付属のxml.jarに絞り込みました。Jaxb1.0クラスが含まれています。orion-application.xmlファイルに以下を追加することでこのエラーを修正できます。
<imported-shared-libraries>
<remove-inherited name="oracle.xml"/>
</imported-shared-libraries>
問題は、admin_client.jarユーティリティを使用してWARファイルをOC4Jにデプロイしていることです。orion-application.xmlファイルを配置するEARがないため、orion-web.xmlファイルをWARのWEB-INFディレクトリに追加し、search-local-classes-firstプロパティをtrueに設定してみることにしました。 :
<?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" deployment-version="10.1.3.4.0"
jsp-cache-directory="./persistence"
jsp-cache-tlds="standard"
simple-jsp-mapping="false"
temporary-directory="./temp"
schema-major-version="10" schema-minor-version="0" >
<web-app-class-loader search-local-classes-first="true" />
<web-app>
</web-app>
</orion-web-app>
これにより、アプリケーションはまったくデプロイされません。Spring構成ファイルを解析できないというエラーが表示されます。search-local-classes-firstを使用したいと思います。このプロパティをどのように使用できますか?また、orion-application.xmlファイルをWARファイルと一緒にデプロイする方法はありますか?
09/11/16 13:26:01 WARNING: DeployerRunnable.run Unexpected exception parsing XML document from Servl
etContext resource [/WEB-INF/applicationContext-acegi-security.xml]; nested exception is java.lang.C
lassCastException: oracle.xml.jaxp.JXDocumentBuilderFactoryoracle.oc4j.admin.internal.DeployerExcept
ion: Unexpected exception parsing XML document from ServletContext resource [/WEB-INF/applicationCon
text-acegi-security.xml]; nested exception is java.lang.ClassCastException: oracle.xml.jaxp.JXDocume
ntBuilderFactory
at oracle.oc4j.admin.internal.DeployerBase.execute(DeployerBase.java:126)
at oracle.oc4j.admin.jmx.server.mbeans.deploy.OC4JDeployerRunnable.doRun(OC4JDeployerRunnabl
e.java:52)
at oracle.oc4j.admin.jmx.server.mbeans.deploy.DeployerRunnable.run(DeployerRunnable.java:81)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledE
xecutor.java:303)
at java.lang.Thread.run(Thread.java:595)
注:Java 1.6ではこのエラーは発生しません。これは、1.6がJaxb2にパッケージ化されているためだと思います。