Ich habe eine Webanwendung, die JAXB 2 verwendet. Wenn auf einem Oracle 10g App Server bereitgestellt, erhalte ich Fehler, sobald ich versuche, eine XML-Datei zu marshallen. Es stellt sich heraus, dass Oracle JAXB 1 in einem Glas enthält, das heimlich in "xml.jar" umbenannt wird. Wer weiß, wie ich meine Webanwendung dazu zwingen kann, die Version von jaxb jars, die ich in web-inf/lib implementiert habe, über das zu verwenden, was Oracle in den Klassenpfad gezwungen hat, idealerweise durch Konfiguration, anstatt mit Classloadern in meinem Code herumzuärgern .JAXB 2 in einer Oracle 10g Webapp
Antwort
Verwenden Sie eine andere JVM als Ihre Oracle-Instanz und stellen Sie sicher, dass ihre Bibliotheken nicht in Ihrem Klassenpfad enthalten sind.
Ich nehme an, Sie verwenden den ehemaligen BEA Weblogic Server?
Sie können eine weblogic.xml Datei auf Ihrem WEB-INF hinzufügen, wie folgt aussehen:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 8.1//EN" "http://www.bea.com/servers/wls810/dtd/weblogic810-web-jar.dtd">
<weblogic-web-app>
<container-descriptor>
<prefer-web-inf-classes>true</prefer-web-inf-classes>
</container-descriptor>
</weblogic-web-app>
(in Antwort auf den Kommentar, ich habe nicht genug Ruf noch :-))
In der Tat, DLL-Hölle, weil es "alles oder nichts" ist. Es scheint einen anderen, bedingteren Weg zu geben, beschrieben here. Ich habe das selbst nicht versucht ...
Eine gute Antwort, die wahrscheinlich mein Problem in jeder vernünftigen Welt lösen würde. Es stellte sich heraus, dass wir diese Einstellung hatten (ich wusste nicht, dass 10g auf Weblogic basiert), aber einer aus meinem Team sagt mir, dass es weggenommen wurde, weil es etwas anderes kaputt gemacht hat. DLL-Hölle noch einmal. Seufzer. Danke trotzdem. – alexmcchessers
Ok, um mir selbst zu widersprechen, habe ich versucht, 10g zu konfigurieren, um meine Webapp-Klassen zu bevorzugen, und jetzt einen anderen Fehler zu bekommen - siehe diese Frage: http://StackOverflow.com/Questions/133993/Loader-Constraints-Violated-When-Linking -javaxxmlnamespaceqname-class-from-weba – alexmcchessers
Wenn Sie immer noch Oracle OC4J verwenden, dann fügen Sie ihre orion-application.xml in die EAR META-INF. Es sollte ungefähr so aussehen ...
<?xml version="1.0" encoding="UTF-8"?>
<orion-application>
<imported-shared-libraries>
<remove-inherited name="skip.this.package"/>
</imported-shared-libraries>
</orion-application>
... mit dem Paket, das Sie überspringen möchten.
- 1. "Loader-Einschränkungen verletzt, wenn javax/xml/namespace/QName-Klasse verknüpft" von webapp auf Oracle 10g
- 2. Rollback in Oracle 10g
- 3. Passwortverifizierungsfunktion erstellen Oracle 10g
- 4. XAConnection-Leistung in Oracle (10g)
- 5. Flashback-Tabelle in Oracle 10g
- 6. Archivprotokollübertragung von Oracle 9i nach Oracle 10g
- 7. Oracle 10g SQL Sortierung VARCHAR2
- 8. Oracle 10g - Entfernen Zeit Komponente
- 9. Oracle 10g hält auf Initialisieren
- 10. Image in BLOB Oracle 10g einfügen
- 11. mit Left Löschen in Oracle 10g Registriert
- 12. Schema in Oracle erstellen 10g Ausgabe
- 13. 'CONTINUE' Schlüsselwort in Oracle 10g PL/SQL
- 14. Oracle 10g: MIN/MAX Spaltenwert Schätzung
- 15. Oracle 10g rekursive Anzahl von xml Clob
- 16. Verbinden mit einer Oracle 8.0-Datenbank mit einem 10g-Client
- 17. INSERT ALL INTO SQL mit Oracle 10g
- 18. export daten von oracle 10g und importieren zu oracle 9i
- 19. Wie der Spalt Wert in Newline in Oracle 10g Get
- 20. Verwendung von COLLECT mit VARCHAR2 Oracle 10g
- 21. 404 Fehler in Oracle 10g nach Anmeldeinformationen in Windows 8.1
- 22. MERGE und ON DELETE CASCADE in Oracle XE 10g
- 23. Oracle 10g - Schreiben Sie Abfragen Ergebnisse in Datei
- 24. Unterschreibt Oracle 10g automatisch doppelte Anführungszeichen in Recordsets?
- 25. Wie benenne ich eine Tabellenspalte in Oracle 10g
- 26. Wie hängt FLOAT NUMBER in Oracle 10g ab?
- 27. Oracle Unicode-Unterstützung in 10g und 11g Unterschiede
- 28. Wie Oracle 10g-Berichte programmgesteuert in Excel konvertieren?
- 29. Assertionsfehler Aurora (ORA-29516) in Oracle 10g auf loadjava
- 30. String-Matching in Oracle 10g, wo jeder Seite können Platzhalter
Denke nicht, dass das wirklich eine Option ist - die Webanwendung wird im Oracle 10g-Anwendungscontainer bereitgestellt und ist daher an diese JVM gebunden. – alexmcchessers