Details

    • Type: Improvement Improvement
    • Status: Open Open
    • Priority: Minor Minor
    • Resolution: Unresolved
    • Affects Version/s: 1.1, 1.2, 1.3, 1.4, 1.5
    • Fix Version/s: None
    • Labels:
      None
    • Number of attachments :
      1

      Description

      Links doesn't work behind a proxy

      javadoc: Error fetching URL: http://java.sun.com/j2se/1.4.2/docs/api/package-list

      I've found some information in the net:

      ------------------------------------------------------------

      It is possible to pass proxy information to javadoc. Try:

      javadoc -J-DproxyHost=myproxyhost.com -J-DproxyPort=8080 -link http://java.sun.com/products/jdk/1.3/docs/api *.java

      ------------------------------------------------------------

      You have to pass http.proxyhost and http.proxyport properties to the JVM.

      -Dhttp.proxyhost=proxy -Dhttp.proxyport=3128

      ------------------------------------------------------------

      The problem is that javadoc ant task starts in another jvm (as stated in ant docs)

      Also I've tried the setProxy ant task and it doesn't work either.
      <ant:setproxy proxyhost="proxy" proxyport="3128"/>

        Activity

        Hide
        Arnaud Heritier added a comment -

        I also tried to set a proxy but it doesn't work.
        The problem is in the ant task.
        I think that you must open an issue to enhance the ant task before the 1.6.2 release.
        As soon as ant allows to set the proxy we will use it in maven.

        Show
        Arnaud Heritier added a comment - I also tried to set a proxy but it doesn't work. The problem is in the ant task. I think that you must open an issue to enhance the ant task before the 1.6.2 release. As soon as ant allows to set the proxy we will use it in maven.
        Hide
        Arnaud Heritier added a comment -

        I kept the issue to think to do it when ant will allow it.

        Show
        Arnaud Heritier added a comment - I kept the issue to think to do it when ant will allow it.
        Hide
        Carlos Sanchez added a comment -

        There's an issue open in the ant bug database

        http://issues.apache.org/bugzilla/show_bug.cgi?id=29870

        Anyone interested please vote in the above link to get it solved

        Show
        Carlos Sanchez added a comment - There's an issue open in the ant bug database http://issues.apache.org/bugzilla/show_bug.cgi?id=29870 Anyone interested please vote in the above link to get it solved
        Hide
        Ray Roberts added a comment -

        You should be able to send in the following to the javadoc task:

        additionalparam="-J-DproxyHost=myproxyhost.com -J-DproxyPort=8080"

        Seems to be working for me...

        Show
        Ray Roberts added a comment - You should be able to send in the following to the javadoc task: additionalparam="-J-DproxyHost=myproxyhost.com -J-DproxyPort=8080" Seems to be working for me...
        Hide
        Wim Deblauwe added a comment -

        Why doesn't the plugin take the values you already need
        to define to get to the remote repository? I have for instance the following
        build.properties in my home folder:

        1. Properties file for maven
          maven.proxy.host = proxy.mycompany.com
          maven.proxy.port = 80
          maven.proxy.ntlm.domain = MYDOMAIN
          maven.proxy.username = myusername
          maven.proxy.password = mypassword

        The javadoc plugin should be able to read out these values, so I don't have
        to specify them somewhere else again.

        Show
        Wim Deblauwe added a comment - Why doesn't the plugin take the values you already need to define to get to the remote repository? I have for instance the following build.properties in my home folder: Properties file for maven maven.proxy.host = proxy.mycompany.com maven.proxy.port = 80 maven.proxy.ntlm.domain = MYDOMAIN maven.proxy.username = myusername maven.proxy.password = mypassword The javadoc plugin should be able to read out these values, so I don't have to specify them somewhere else again.
        Hide
        Wim Deblauwe added a comment -

        This text file contains the complete "maven-javadoc-plugin:report" goal with my changes for bypassing the proxy. I hope someone who knows CVS can generate a diff out of this.

        Show
        Wim Deblauwe added a comment - This text file contains the complete "maven-javadoc-plugin:report" goal with my changes for bypassing the proxy. I hope someone who knows CVS can generate a diff out of this.
        Hide
        Wim Deblauwe added a comment -

        The javadoc.txt file contains the complete "maven-javadoc-plugin:report". Changes:

        added 'maven.javadoc.mode.bypassproxy' property. Set this to true to enable this piece of code.

        It will download the package-list files from the url(s) given in 'maven.javadoc.links' to your target/javadoc/packagelists directory. It will then generate the maven.javadoc.offlineLinks property in way described to have online links in offline mode. The taks will then be put in offline mode. As a result, online links are generated in your javadoc.

        Example project.properties:
        maven.javadoc.mode.bypassproxy=true
        maven.javadoc.links=http://java.sun.com/j2se/1.5.0/docs/api/,http://jakarta.apache.org/commons/lang/api/

        You also need specify the proxy properties in your build.properties (in your home folder) so the download can use those to get past the proxy:
        maven.proxy.host = proxy.mycompany.com
        maven.proxy.port = 80
        maven.proxy.ntlm.domain = MYDOMAIN
        maven.proxy.username = myusername
        maven.proxy.password = mypassword

        Maybe 'maven.javadoc.mode.bypassproxy' is not a good name, if other have a better suggestion, please do. Also I have not added the property to the properties that are printed out in debug mode, but that is easy to add.

        Show
        Wim Deblauwe added a comment - The javadoc.txt file contains the complete "maven-javadoc-plugin:report". Changes: added 'maven.javadoc.mode.bypassproxy' property. Set this to true to enable this piece of code. It will download the package-list files from the url(s) given in 'maven.javadoc.links' to your target/javadoc/packagelists directory. It will then generate the maven.javadoc.offlineLinks property in way described to have online links in offline mode. The taks will then be put in offline mode. As a result, online links are generated in your javadoc. Example project.properties: maven.javadoc.mode.bypassproxy=true maven.javadoc.links= http://java.sun.com/j2se/1.5.0/docs/api/,http://jakarta.apache.org/commons/lang/api/ You also need specify the proxy properties in your build.properties (in your home folder) so the download can use those to get past the proxy: maven.proxy.host = proxy.mycompany.com maven.proxy.port = 80 maven.proxy.ntlm.domain = MYDOMAIN maven.proxy.username = myusername maven.proxy.password = mypassword Maybe 'maven.javadoc.mode.bypassproxy' is not a good name, if other have a better suggestion, please do. Also I have not added the property to the properties that are printed out in debug mode, but that is easy to add.
        Hide
        Carlos Sanchez added a comment -

        It may be worth to take a look at the system property "java.net.useSystemProxies" in Java5 that allows using the system proxy (IE on windows, Gnome in linux,...)

        http://weblogs.java.net/blog/kohsuke/archive/2005/08/we_deserve_a_be.html

        Show
        Carlos Sanchez added a comment - It may be worth to take a look at the system property "java.net.useSystemProxies" in Java5 that allows using the system proxy (IE on windows, Gnome in linux,...) http://weblogs.java.net/blog/kohsuke/archive/2005/08/we_deserve_a_be.html

          People

          • Assignee:
            Unassigned
            Reporter:
            Carlos Sanchez
          • Votes:
            2 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated: