2016-04-14 9 views
0

Ich bin dabei, eine ältere Java-Anwendung von Weblogic 8.1 auf Weblogic 10.3.6 (auch die Java-Version von 1.4 auf 1.6) zu aktualisieren. Ich baute die Weblogic-Voll-Client-JAR-Datei as per these instructions und fügte sie dem Klassenpfad hinzu.IllegalArgumentException beim Aktualisieren der Anwendung von Weblogic 8.1 auf Weblogic 10.3.6

Wenn ich die Anwendung in Weblogic 10.3.6 einsetzen es mit dem folgenden Fehler fehlschlägt ...

Caused by: java.lang.IllegalArgumentException: javacc,ant,commons-collections,log4j,junit-Extension-Name 
     at java.util.jar.Attributes$Name.<init>(Attributes.java:447) 
     at java.util.jar.Attributes.getValue(Attributes.java:99) 
     at weblogic.application.library.LibraryReferenceFactory.getOptPackReference(LibraryReferenceFactory.java:135) 
     at weblogic.application.internal.OptionalPackageProviderImpl.getOptionalPackages(OptionalPackageProviderImpl.java:44) 
     at weblogic.utils.classloaders.ClassFinderUtils.getOptionalPackages(ClassFinderUtils.java:145) 
     at weblogic.utils.classloaders.ClassFinderUtils.getManifestClassPath(ClassFinderUtils.java:126) 
     at weblogic.utils.classloaders.ClassFinderUtils.getManifestFinder(ClassFinderUtils.java:98) 
     at weblogic.utils.classloaders.ClassFinderUtils.getManifestFinder(ClassFinderUtils.java:79) 
     at weblogic.utils.classloaders.JarClassFinder.<init>(JarClassFinder.java:41) 
     at weblogic.utils.classloaders.JarClassFinder.<init>(JarClassFinder.java:30) 
     at weblogic.utils.classloaders.ClasspathClassFinder2.getClassFinder(ClasspathClassFinder2.java:87) 
     at weblogic.utils.classloaders.ClasspathClassFinder2.setClasspath(ClasspathClassFinder2.java:80) 
     at weblogic.utils.classloaders.ClasspathClassFinder2.<init>(ClasspathClassFinder2.java:54) 
     at weblogic.utils.classloaders.ClasspathClassFinder2.<init>(ClasspathClassFinder2.java:45) 
     at weblogic.application.io.ExplodedJar.buildClasspathFinder(ExplodedJar.java:141) 
     at weblogic.application.io.ExplodedJar.getClassFinder(ExplodedJar.java:87) 
     at weblogic.servlet.internal.ArchivedWar.getClassFinder(ArchivedWar.java:72) 
     at weblogic.servlet.internal.War.init(War.java:246) 
     at weblogic.servlet.internal.War.<init>(War.java:217) 
     at weblogic.servlet.internal.WebAppServletContext.processDocroot(WebAppServletContext.java:2785) 
     at weblogic.servlet.internal.WebAppServletContext.setDocroot(WebAppServletContext.java:2662) 
     at weblogic.servlet.internal.WebAppServletContext.<init>(WebAppServletContext.java:414) 
     at weblogic.servlet.internal.WebAppServletContext.<init>(WebAppServletContext.java:494) 
     at weblogic.servlet.internal.HttpServer.loadWebApp(HttpServer.java:418) 
     at weblogic.servlet.internal.WebAppModule.registerWebApp(WebAppModule.java:976) 
     at weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:384) 

Alle Ideen, wie dieses Problem zu lösen?

Vielen Dank im Voraus.

+0

Sie aktualisieren auf Java 1.6? Warum? Es wird nicht mehr unterstützt (es sei denn, Sie haben den Support von Oracle erweitert). Upgrade auf 1.8. - http://www.oracle.com/technetwork/java/eol-135779.html – Asaph

+0

@Asaph 1.8 wird nicht von Weblogic 11g unterstützt und wir müssen verwenden 11g im Moment. [JRE 8 Kompatibilität mit Weblogic 10.3.6 (11g)] (http://stackoverflow.com/questions/22513660/jre-8-compatibility-with-weblogic-10-3-6-11g) – neo108

+0

richtig, nicht verwenden 1.8 in 10.3.x – devwebcl

Antwort

0

The answer to this question hat mir geholfen, mein Problem zu lösen.

Eine der JAR-Dateien, die verwendet wurde, hatte eine durch Kommas getrennte Zeichenfolge für die Eigenschaft Extension-List in der Datei MANIFEST.MF. Die JAR-Datei wurde mit der späteren Version aktualisiert, in der die durch Kommas getrennte Zeichenfolge nicht enthalten war.

Veröffentlichen dieser Lösung als eine Antwort, um jedem zu helfen, der auf dieses Problem stößt.

+0

ist es gut zu sehen, dass Sie das Problem gelöst haben, aber es ist nicht gut, wlfullclient in Ihrer Anwendung zu bündeln, weil all diese Bibliotheken sind bereits in WLS. (Es ist redundant) – devwebcl

+0

Ja, ich habe bemerkt, dass @devwebcl, also habe ich sie aus dem Anwendungspaket entfernt. Vielen Dank. – neo108