This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 157702 - Can not open Javadoc References
Summary: Can not open Javadoc References
Status: REOPENED
Alias: None
Product: ide
Classification: Unclassified
Component: Extbrowser (show other bugs)
Version: 8.0
Hardware: PC Linux
: P3 blocker (vote)
Assignee: Jan Stola
URL:
Keywords:
: 180437 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-01-31 15:46 UTC by rost
Modified: 2015-01-28 13:48 UTC (History)
6 users (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description rost 2009-01-31 15:46:12 UTC
Whenever I open the menu item "Help -> Javadoc References -> Java Platform SE 6", my browser starts and presents the
following error message:
------------
Error: 500
Location: /resource/jar%3Afile%3A/home/archiv/java/1.6.0/jdk-6-doc.zip%21/docs/api/overview-summary.html
No detailed message
------------

The file specified in the error message exists, is readable and is not empty:

ronny@ronny-desktop:~$ ll /home/archiv/java/1.6.0/jdk-6-doc.zip
-rw-r--r-- 1 ronny ronny 54897973 2006-12-11 12:24 /home/archiv/java/1.6.0/jdk-6-doc.zip

I have the same problem with all other Javadoc References in NetBeans.
Comment 1 rost 2009-01-31 16:01:37 UTC
Please take a look at this bug:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6754672

Because of this bug I had to comment out the line
127.0.1.1 ronny-desktop
from /etc/hosts. Otherwise I could not monitor applications with JConsole.

It looks like the line removal triggered this NetBeans bug. Now I am stuck. I want both, monitoring with JConsole and a
working NetBeans Javadoc Reference system. How am I supposed to do this?

PS: I am using NetBeans-6.5 on Kubuntu-8.04.1 and both are fully updated/upgraded.
Comment 2 mslama 2009-02-05 13:01:59 UTC
To be able to use jconsole:
Edit line with 127.0.0.1 to
127.0.0.1	ronny-desktop localhost.localdomain localhost
and leave line with 127.0.1.1 uncommented. Let me know if it helps or not for this case.
Comment 3 mslama 2009-02-06 14:02:41 UTC
I added doc in Tools->Java Platform. I can references open now without any problem. Though it is not clear to me when
Java Platform SE 6 should appear in Help -> Javadoc References. Now ergonomics is in dev build. I activated Java plugin
and added javadoc to Java Platform but refercnes is empty. Then after I open some J2SE project references contain Java
and Junit docs. Passing to javadoc to evaluate problem with wrong URL.

URL for me is jar:file:///home/mslama/jdk-6u10-docs.zip!/docs/api/overview-summary.html
Comment 4 rost 2009-02-08 16:53:51 UTC
> Let me know if it helps or not for this case.

Yes, this workaround helps in my case. Thank you very much!
Comment 5 Jan Pokorsky 2009-02-10 13:26:10 UTC
The platform or the library with attached javadoc has to be referenced by any open project to list the javadoc as a
Javadoc References menu item.

Regarding the incorrect URL I have found following while debugging:
1. the javadoc module creates correct URL with URLMapper.findURL(fileObject, URLMapper.EXTERNAL) and passes it to
URLDisplayer with HtmlBrowser.URLDisplayer.getDefault().showURL(loc).
2. the extbrowser calls URLMapper.findURL(fo, URLMapper.NETWORK) in URLUtil.getURLOfAppropriateType that delegates to
HttpServerURLMapper of the httpserver module.

I am not sure if calling URLMapper with URLMapper.NETWORK is necessary in the extbrowser since the passed URL is in the
external form but it decidedly breaks the passed URL.

The URL passed by the javadoc module:
jar:file:/home/archiv/java/1.6.0/jdk-6-doc.zip!/docs/api/overview-summary.html

The translated URL returned by HttpServerURLMapper:
http://127.0.0.1:8083/resource/jar%3Afile%3A/home/archiv/java/1.6.0/jdk-6-doc.zip%21/docs/api/overview-summary.html


Reassigning to extbrowser. Please fix URLUtil.getURLOfAppropriateType or reassign it to httpserver to fix
HttpServerURLMapper.
Comment 6 Petr Jiricka 2009-08-26 15:39:02 UTC
The problem is that most browsers do not recognize jar: URLs. Firefox does, but other browsers (I just tested Safari and
Opera, and I believe also Internet Explorer) do not understand such URLs. So we have to use
http://127.0.0.1:8083/resource/... on most browsers. 

To fix this properly, we would need to detect what is the default browser, and decide based on that whether to use a
jar: URL or a http: URL.
Comment 7 Gurce 2013-01-23 20:59:58 UTC
Hi all, I'm experiencing the same problems when running NetBeans 6.8, on OpenSuse 12.2 (64-bit). I gave the suggestions in this thread a try, but it didn't help in my scenario.

I've tried to do a bit of debugging on my end.

So, this 8082 service belongs to the Netbeans app itself, right? It reads the URL path, finds the html item within the *-javadoc.jar file on the local system and then sends it to the browser? Is there any way to debug this process? Or get it to output some debug information that might give me some hints on what is happening?

Some discoveries:

- I only have this problem if I run Netbeans as a normal user. When I visit the javadocs, it opens firefox with a url like this and only shows the ERROR 500 msg mentioned in the main post:
http://127.0.0.1:8082/resource/jar%3Afile%3A/home/gurce/javahg/javahg-0.5-20120815.064757-1-javadoc.jar!/com/aragost/javahg/commands/TagCommand.html

- If I run as root (via "kdesu netbeans"), the javadocs will open fine in Firefox, with a URL that looks like this:
jar:file:///home/gurce/javahg/javahg-0.5-20120815.064757-1-javadoc.jar!/overview-summary.html

- I found this variation in URL interesting ("http://127.0.0.1:8082" vs "jar:file:///")

- I noticed when running netbeans as normal user, if I go to "Tools >> Options >> General", the "Web browser:" setting was set to "Firefox".

- I noticed when running netbeans as root user, if I go to "Tools >> Options >> General", the "Web browser:" setting was set to "<Default System Browser>".

- So, I for the normal user, I tried changing this setting to "<Default System Browser>" too and then visited the javadocs. It initially tried to open in Konquerer (a different browser).

- Via the KDE desktop interface, I modified the default browser to be Firefox and then tried to open the javadoc from Netbeans again.

- This time, I got a small popup error saying:

"Error - KIOExec - Could not start process Unable to create io-slave: klauncher said: Unknown protocol 'jar'."

Hmm, not sure what this means as yet, I might also ask about this in the OpenSuse forums too, as they might have some insights on this too.
Comment 8 Petr Jiricka 2013-06-25 16:28:43 UTC
Whoever is still experiencing this issue, can you please try this out in the latest NetBeans 7.4 daily build and report back? There were some fixes in this area recently which may have fixed this. Also please try setting a different browser, e.g. Chrome. 

It sounds like this problem is specific to KDE desktops on Linux, can you confirm? I must say that's not one of the officially supported platforms, see http://wiki.netbeans.org/NetBeans_74_Supported_Platforms
Comment 9 Petr Jiricka 2013-06-25 16:52:29 UTC
*** Bug 180437 has been marked as a duplicate of this bug. ***
Comment 10 Gurce 2013-06-26 12:46:58 UTC
Ok, I've given this a try with the latest NetBeans dev release (netbeans-dev-201306252301).

When I open one of my projects, prepare all the libraries and related javadocs, then go to "Help >> JavaDoc References...", I still see the Error 500 when it tries to visit this path:

http://127.0.0.1:8082/resource/jar%3Afile%3A/home/gurce/NetBeansProjects/MegaDiff/libraries/JavaHg/javadocs/javahg-0.5-20120815.064757-1-javadoc.jar!/overview-summary.html

Taking a look at "Tools >> Options >> General", the "Web browser:" setting is currently set to "<Default System Browser>"

I tried swapping this to "firefox", same problem. Again, it tried opening the url:

http://127.0.0.1:8082/resource/jar%3Afile%3A ..etc...

As a last ditch effort, I tried installing chrome and pointing the settings to that. Same Error 500, with the http://127.0.0.1:8082 url...

Ok then, I'll get by with my two known workarounds, which still work, so I'll mention them in here in-case others need them:

WORKAROUND 1 (FOR FIREFOX)
============
- After you get the ERROR 500 in your browser, edit the url manually:
  - Replace: "http://127.0.0.1:8082/resource/jar%3Afile%3A/..."
  - With: "jar:file:///..."
Then the url will load up correctly in firefox. This trick doesn't seem to work in Chrome.

WORKAROUND 2
============
- Run netbeans as root user via "kdesu netbeans"
- Then the url will open up in firefox correctly with the "jar:file:///..." url (no need to edit manually).
Again, this workaround only works for firefox. Google chrome won't permit you to run as root.

For now, my preference is workaround 1, as the latter probably isn't the safest option.
Comment 11 areeda 2013-10-10 06:16:11 UTC
I can confirm this problem with 7.4RC2 running under Scientific Linux (a red hat derivative) under GNOME desktop.  the jar:file// fix sort of works but I can't do a show javadoc on HttpServletRequest ...

Product Version: NetBeans IDE 7.4 RC2 (Build 201309252201)
Java: 1.7.0_25; OpenJDK 64-Bit Server VM 23.7-b01
Runtime: OpenJDK Runtime Environment 1.7.0_25-root_2013_06_20_08_47-b00
System: Linux version 2.6.32-358.18.1.el6.x86_64 running on amd64; UTF-8; en_US (nb)
User directory: /home/joe/.netbeans/7.4rc2
Cache directory: /home/joe/.cache/netbeans/7.4rc2
Comment 12 archenroot 2014-05-14 09:55:18 UTC
Same here:

Error: 500
Location: /resource/jar%3Afile%3A/C%3A/Users/s9073/.m2/repository/org/apache/logging/log4j/log4j-core/2.0-rc1/log4j-core-2.0-rc1-javadoc.jar%21/index.html
No detailed message

Env:
Win764bit
Netbeans 8
JDK 8
Firefox
Comment 13 archenroot 2014-05-14 10:59:02 UTC
this is still issue.