Status: Solved
Applies to: JDeveloper 11.1.2 / WLS 10.3.5, Windows XP
Problem Description
Having activated the WebLogic Fast Swap Option
a strange Exception comes up in the Log-Window for the integrated WebLogic Server output.
java.net.URISyntaxException: Illegal character in opaque part at index 16: zip:C:/Dokumente und Einstellungen/ak/Anwendungsdaten/JDeveloper/system11.1.2.0.38.60.17/DefaultDomain/servers/DefaultServer/tmp/_WL_user/adf.oracle.domain.webapp/q433f9/WEB-INF/lib/adf-richclient-impl-11.jar!/oracle/adfinternal/view/faces/renderkit/rich/PageTemplateRenderer.class
at java.net.URI$Parser.fail(URI.java:2809)
at java.net.URI$Parser.checkChars(URI.java:2982)
at java.net.URI$Parser.parse(URI.java:3019)
at java.net.URI.<init>(URI.java:578)
at java.net.URL.toURI(URL.Java:918)
at com.bea.wls.redef.io.ClassChangeNotifier.toURI(ClassChangeNotifier.java:251)
at com.bea.wls.redef.io.ClassChangeNotifier.isRelative(ClassChangeNotifier.java:211)
at com.bea.wls.redef.io.ClassChangeNotifier.updateCache(ClassChangeNotifier.java:80)
at com.bea.wls.redef.RedefiningClassLoader.findClass(RedefiningClassLoader.java:115)
at java.lang.ClassLoader.loadClass(ClassLoader.java:305)
at java.lang.ClassLoader.loadClass(ClassLoader.java:246)
Issue Analysis
It turns out that the Exception occures because the (by default) created WebLogic domain is located at a directory which contains spaces, e.g. C:/Dokumente und Einstellungen/<user>/Anwendungsdaten/JDeveloper/system11.1.2.0.38.60.17/
Solution
Move your JDev User Dir to a location without space in directory names! This can be done as follows
1. systemwide (for all your JDev installations)
2. or finegrained (for specific JDev installation)
$MW_HOME\jdeveloper\jdeveloper.exe -J-Dide.user.dir=c:\ak\JDeveloper
(this will not effect other jdeveloper installations on your machine.)
If you now start Jdeveloper a new jdev user dir will be created.
Note: If you want to keep your prefs, etc. copy the system11.1.2.0.38.60.17 from old location to the new one and delete the wls default domain
system11.1.2.0.38.60.17\DefaultDomain directory. (This is needed, because many scripts in DefaultDomain are generated at time of domain creation and so may contain absolute paths! So in order not to get stuck with those issues just delete the DefaultDomain directory. it will be created next time you start wls from jdeveloper)
Conclusion
After moving the jdev user dir you will see in the wls log window
(after Rebuild of your ViewController project).
Happy fast swapping! It is a real timesaver now!
Further reading
Section 36.4, "Reloading Oracle ADF Metadata in Integrated WebLogic Server." of fusion developmen guide 11.1.2.0.
Great post Andreas!
ReplyDeleteThis comment has been removed by a blog administrator.
ReplyDelete