Eclipse crash/busy-loops on Javadoc generation [message #511916] |
Wed, 03 February 2010 07:15 |
Eclipse User |
|
|
|
I had the odd effect today that eclipse (Galileo) kept going into some busy
loop whenever I edited a specific java file. I boiled that down to the
Javadoc generation and carved out the below example.
Whenever I open that class in the editor and go into the getStyleSheet()
method and the Javadoc-view/tab is currently selected my eclipse gets
unresponsive and hangs in some busy loop from which I can only kill it via
task manager.
I didn't want to spend even more time on this and so I didn't reduce the
comment to the actual culprit, but the below should make it easy enough to
reproduce the issue and then search and fix the problem.
Where to report?
Michael
-------------------------------
package test;
import java.net.URL;
public class Test
{
static final String cssName = "css/someName.css";
/**
* @return the URL from where to read the style sheet
*
* Note: The search algorithm for resources in applets is completely
brain-damaged:
* In contrast to java applications, for applets a resource must be
available NOT
* relative to the class (as one would expect) and thus also not IN the
..jar file
* containing the applet's code, but as an individual file relative to the
HTML-file
* which started the applet (i.e. the HTML-file containing the <applet
..../>-tag)!
* Furthermore, the path of the resource is prefixed with the class'
package name.
* Thus, if, say, a class named "a.b.c.SomeClass" is packaged into as file
* "<somedir>/lib/SomeName.jar" and the starting .html-file is in
"<somedir>/html",
* then the style sheet with the above name has to be in
* "<somedir>/html/a/b/c/css/someName.css"!
* Putting it into the .jar at path "a/b/c/css/service.css" (as one would
for a
* "normal" application's .jar file) will only yield null URLs!
* And - even more nasty and confusing: that "normal" location works with
the applet
* viewer but NOT in a real applet (i.e. when started in/from a browser)!
*/
URL getStyleSheet() {
return null;
}
}
-------------------------------
|
|
|
Powered by
FUDForum. Page generated in 0.05223 seconds