Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在不同项目之间交叉链接java文档_Java_Ant_Javadoc - Fatal编程技术网

在不同项目之间交叉链接java文档

在不同项目之间交叉链接java文档,java,ant,javadoc,Java,Ant,Javadoc,我很难让javadoc引用另一个项目的API 项目之间存在严格的雇佣关系(“应用程序”项目引用的“通用”项目)。 这两个项目都构建得很好,所以类和包实际上并不存在 我的理解是,javadoc没有一种与Java相同的构建路径,而是使用指向其他javadoc网站的链接。从能够生成HTML交叉引用的角度来看,这有一些非常合理的原因 我的尝试如下: 我已经为公共项目构建了javadoc 我把它放在了内联网上的一个网络服务器上 我在应用程序项目的javadoc ant任务中添加了一个api链接(在我的内部

我很难让javadoc引用另一个项目的API

项目之间存在严格的雇佣关系(“应用程序”项目引用的“通用”项目)。 这两个项目都构建得很好,所以类和包实际上并不存在

我的理解是,javadoc没有一种与Java相同的构建路径,而是使用指向其他javadoc网站的链接。从能够生成HTML交叉引用的角度来看,这有一些非常合理的原因

我的尝试如下:

  • 我已经为公共项目构建了javadoc
  • 我把它放在了内联网上的一个网络服务器上
  • 我在应用程序项目的javadoc ant任务中添加了一个api链接(在我的内部网上)
  • 我试图构建应用程序项目
  • Javadoc仍然会发出以下形式的错误消息:

    [javadoc] C:\Users\couling\workspace\app\src\com\blahblah\app\AppMain.java:14: package com.blahblah.common.foo does not exist
    [javadoc] import com.blahblah.common.foo.Bar
    [javadoc]                               ^
    
    生成的javadoc在项目之间没有交叉链接

    这两个项目的ant任务如下:

    常见的:

    <javadoc 
             access="protected" 
             author="true" 
             classpath="." 
             destdir="out/doc/docs" 
             nodeprecated="false"
             nodeprecatedlist="false" 
             noindex="false" 
             nonavbar="false" 
             notree="false"
             packagenames="*"
             source="1.6" 
             sourcepath="src" 
             splitindex="true" 
             use="true" 
             version="true">
                 <link href="http://download.oracle.com/javase/6/docs/api/" />
    </javadoc>
    
    
    
    应用程序:

    
    
    我需要做些什么才能让应用程序成为通用的参考

    元素(或命令行javadoc的
    -link
    选项)只能帮助生成链接,但是javadoc会在更早的时候停止,如果你的应用程序类引用了未知(常见)类,那么它就不能真正使用它们

    在这方面,Javadoc的工作原理与Javac类似——您必须以某种方式将其指向要使用的类,即它们必须位于类路径中。您可以使用
    元素指向jar文件或类目录,或者使用
    元素指向源代码(如果需要从源代码继承一些注释,请执行此操作)

    链接到标准API时不需要这样做,因为它已经包含在编译器中


    请注意,以这种方式链接需要Javadoc从此URL下载
    包列表
    ——您可以指向包含此包列表文件的本地目录。

    对此表示抱歉。我删除了我的答案。这似乎是一个Ant类路径问题。我是一个maven用户,没有使用ant的经验。Bar类包是否可以访问,因此不包括在JavaDoc中?Bar是公共项目的一部分。它存在于javadoc中,我认为应该通过添加链接来覆盖它。我已经检查了该url下是否存在相应的javadoc页面。我甚至检查了Web服务器日志,查看是否正在访问pacakge列表,以及该文件中是否提到com.blahblah.common.foo。我(就我所写的)这样做对吗?这已经解决了。非常感谢。
    <javadoc 
             access="protected" 
             author="true" 
             classpath="." 
             destdir="out/doc/docs" 
             nodeprecated="false"
             nodeprecatedlist="false" 
             noindex="false" 
             nonavbar="false" 
             notree="false"
             packagenames="com.blahblah.app.*"
             source="1.6" 
             sourcepath="src" 
             splitindex="true" 
             use="true" 
             version="true">
                 <link href="http://intranet.blahblah.com/api/common/docs/" />
                 <link href="http://download.oracle.com/javase/6/docs/api/" />
    </javadoc>