2014-02-11 164 views
0

你好我有一個簡單的ant構建腳本來爲一堆項目生成javadoc。Ant Javadoc任務失敗

Ant腳本是:

<project name="icade javadocs" default="doc" basedir="."> 
    <target name="doc"> 
     <javadoc destdir="javadocs" 
      author="true" 
      version="true" 
      use="true" 
      windowtitle="iCADE System Javadocs" 
      doctitle="iCADE System Javadocs"> 
      <fileset dir="ACS_Review_2008/trunk/src"> 
       <include name="**/*.java"/> 
      </fileset> 
      <fileset dir="ATAC_BCF_Reader/trunk/src"> 
       <include name="**/*.java"/> 
      </fileset> 
      <fileset dir="ATAC_SCF_Reader/trunk/src"> 
       <include name="**/*.java"/> 
      </fileset> 
      <fileset dir="AutoRegClient/trunk/src"> 
       <include name="**/*.java"/> 
      </fileset> 
      <fileset dir="AutoRegServer/trunk/src"> 
       <include name="**/*.java"/> 
      </fileset> 
      <fileset dir="BatchClient/trunk/src"> 
       <include name="**/*.java"/> 
      </fileset> 
      <fileset dir="BatchCompletenessClasses/trunk/src"> 
       <include name="**/*.java"/> 
      </fileset> 
      <fileset dir="BatchIdentificationClient/trunk/src"> 
       <include name="**/*.java"/> 
      </fileset> 
      <fileset dir="BatchIdentificationServer/trunk/src"> 
       <include name="**/*.java"/> 
      </fileset> 
      <fileset dir="BatchServer/trunk/src"> 
       <include name="**/*.java"/> 
      </fileset> 
      <fileset dir="AncillaryPrograms/CensusLdapUtils/src"> 
       <include name="**/*.java"/> 
      </fileset> 
      <fileset dir="CFN Extract/trunk/src"> 
       <include name="**/*.java"/> 
      </fileset> 
      <fileset dir="Control_HoundClient/trunk/src"> 
       <include name="**/*.java"/> 
      </fileset> 
      <fileset dir="Control_Manager/trunk/src"> 
       <include name="**/*.java"/> 
      </fileset> 
      <fileset dir="DiscrepancyViewer/trunk/src"> 
       <include name="**/*.java"/> 
      </fileset> 
      <fileset dir="ExceptionReviewServer/trunk/src"> 
       <include name="**/*.java"/> 
      </fileset> 
      <fileset dir="GlobalDCSv2/trunk/src"> 
       <include name="**/*.java"/> 
      </fileset> 
      <fileset dir="HoundServer/trunk/src"> 
       <include name="**/*.java"/> 
      </fileset> 
      <fileset dir="prototypes/IcadeDBUtils/src"> 
       <include name="**/*.java"/> 
      </fileset> 
      <fileset dir="iCADE-JCommons/trunk/src"> 
       <include name="**/*.java"/> 
      </fileset> 
      <fileset dir="icadePooler/trunk/src"> 
       <include name="**/*.java"/> 
      </fileset> 
      <fileset dir="InitialKeyingClasses/trunk/src"> 
       <include name="**/*.java"/> 
      </fileset> 
      <fileset dir="LauncherServer/trunk/src"> 
       <include name="**/*.java"/> 
      </fileset> 
      <fileset dir="MAHP/trunk/src"> 
       <include name="**/*.java"/> 
      </fileset> 
      <fileset dir="ManRegReport/trunk/src"> 
       <include name="**/*.java"/> 
      </fileset> 
      <fileset dir="MatrixBuilder/trunk/src"> 
       <include name="**/*.java"/> 
      </fileset> 
      <fileset dir="MTClasses/trunk/src"> 
       <include name="**/*.java"/> 
      </fileset> 
      <fileset dir="OCRClient/trunk/src"> 
       <include name="**/*.java"/> 
      </fileset> 
      <fileset dir="OCRReports/src"> 
       <include name="**/*.java"/> 
      </fileset> 
      <fileset dir="OCRServer/trunk/src"> 
       <include name="**/*.java"/> 
      </fileset> 
      <fileset dir="OMAR/trunk/src"> 
       <include name="**/*.java"/> 
      </fileset> 
      <fileset dir="PDFsRecordScanner/src"> 
       <include name="**/*.java"/> 
      </fileset> 
      <fileset dir="PrepCoverClasses/trunk/src"> 
       <include name="**/*.java"/> 
      </fileset> 
      <fileset dir="ScannerClientPro/trunk/src"> 
       <include name="**/*.java"/> 
      </fileset> 
      <fileset dir="ScannerServer/trunk/src"> 
       <include name="**/*.java"/> 
      </fileset> 
      <fileset dir="Scriptviewer/trunk/src"> 
       <include name="**/*.java"/> 
      </fileset> 
      <fileset dir="SecureFileTransfer/src"> 
       <include name="**/*.java"/> 
      </fileset> 
      <fileset dir="SSO/trunk/src"> 
       <include name="**/*.java"/> 
      </fileset> 
      <fileset dir="SSOClient/trunk/src"> 
       <include name="**/*.java"/> 
      </fileset> 
      <fileset dir="STTAB/trunk/src"> 
       <include name="**/*.java"/> 
      </fileset> 
      <fileset dir="TicketClient/trunk/src"> 
       <include name="**/*.java"/> 
      </fileset> 
      <fileset dir="TIFF_Viewer/src"> 
       <include name="**/*.java"/> 
      </fileset> 
      <fileset dir="v2CONTROLExceptionReview/trunk/src"> 
       <include name="**/*.java"/> 
      </fileset> 
      <fileset dir="v2CONTROLLauncher/trunk/src"> 
       <include name="**/*.java"/> 
      </fileset> 
      <fileset dir="ValidationClasses/trunk/src"> 
       <include name="**/*.java"/> 
      </fileset> 
     </javadoc> 
    </target> 
</project> 

輸出我得到的是以下幾點:

Apache Ant(TM) version 1.9.3 compiled on December 23 2013 
Buildfile: C:\work\icade_svn\build_javadoc.xml 
Adding reference: ant.PropertyHelper 
Detected Java version: 1.7 in: C:\Program Files\Java\jdk1.7.0_15\jre 
Detected OS: Windows 7 
Adding reference: ant.ComponentHelper 
Setting ro project property: ant.file -> C:\work\icade_svn\build_javadoc.xml 
Setting ro project property: ant.file.type -> file 
Adding reference: ant.projectHelper 
Adding reference: ant.parsing.context 
Adding reference: ant.targets 
parsing buildfile C:\work\icade_svn\build_javadoc.xml with URI = file:/C:/work/icade_svn/build_javadoc.xml 
Setting ro project property: ant.project.name -> icade javadocs 
Adding reference: icade javadocs 
Setting ro project property: ant.project.default-target -> doc 
Setting ro project property: ant.file.icade javadocs -> C:\work\icade_svn\build_javadoc.xml 
Setting ro project property: ant.file.type.icade javadocs -> file 
Project base dir set to: C:\work\icade_svn 
+Target: 
+Target: doc 
Adding reference: ant.LocalProperties 
Setting ro project property: ant.project.invoked-targets -> doc 
Attempting to create object of type org.apache.tools.ant.helper.DefaultExecutor 
Adding reference: ant.executor 
Build sequence for target(s) `doc' is [doc] 
Complete build sequence is [doc, ] 

doc: 
parsing buildfile jar:file:/C:/Users/ferru001/apache-ant-1.9.3/lib/ant.jar!/org/apache/tools/ant/antlib.xml with URI = jar:file:/C:/Users/ferru001/apache-ant-1.9.3/lib/ant.jar!/org/apache/tools/ant/antlib.xml from a zip file 
fileset: Setup scanner in dir C:\work\icade_svn\ACS_Review_2008\trunk\src with patternSet{ includes: [**/*.java] excludes: [] } 
fileset: Setup scanner in dir C:\work\icade_svn\ATAC_BCF_Reader\trunk\src with patternSet{ includes: [**/*.java] excludes: [] } 
fileset: Setup scanner in dir C:\work\icade_svn\ATAC_SCF_Reader\trunk\src with patternSet{ includes: [**/*.java] excludes: [] } 
fileset: Setup scanner in dir C:\work\icade_svn\AutoRegClient\trunk\src with patternSet{ includes: [**/*.java] excludes: [] } 
fileset: Setup scanner in dir C:\work\icade_svn\AutoRegServer\trunk\src with patternSet{ includes: [**/*.java] excludes: [] } 
fileset: Setup scanner in dir C:\work\icade_svn\BatchClient\trunk\src with patternSet{ includes: [**/*.java] excludes: [] } 
fileset: Setup scanner in dir C:\work\icade_svn\BatchCompletenessClasses\trunk\src with patternSet{ includes: [**/*.java] excludes: [] } 
fileset: Setup scanner in dir C:\work\icade_svn\BatchIdentificationClient\trunk\src with patternSet{ includes: [**/*.java] excludes: [] } 
fileset: Setup scanner in dir C:\work\icade_svn\BatchIdentificationServer\trunk\src with patternSet{ includes: [**/*.java] excludes: [] } 
fileset: Setup scanner in dir C:\work\icade_svn\BatchServer\trunk\src with patternSet{ includes: [**/*.java] excludes: [] } 
fileset: Setup scanner in dir C:\work\icade_svn\AncillaryPrograms\CensusLdapUtils\src with patternSet{ includes: [**/*.java] excludes: [] } 
fileset: Setup scanner in dir C:\work\icade_svn\CFN Extract\trunk\src with patternSet{ includes: [**/*.java] excludes: [] } 
fileset: Setup scanner in dir C:\work\icade_svn\Control_HoundClient\trunk\src with patternSet{ includes: [**/*.java] excludes: [] } 
fileset: Setup scanner in dir C:\work\icade_svn\Control_Manager\trunk\src with patternSet{ includes: [**/*.java] excludes: [] } 
fileset: Setup scanner in dir C:\work\icade_svn\DiscrepancyViewer\trunk\src with patternSet{ includes: [**/*.java] excludes: [] } 
fileset: Setup scanner in dir C:\work\icade_svn\ExceptionReviewServer\trunk\src with patternSet{ includes: [**/*.java] excludes: [] } 
fileset: Setup scanner in dir C:\work\icade_svn\GlobalDCSv2\trunk\src with patternSet{ includes: [**/*.java] excludes: [] } 
fileset: Setup scanner in dir C:\work\icade_svn\HoundServer\trunk\src with patternSet{ includes: [**/*.java] excludes: [] } 
fileset: Setup scanner in dir C:\work\icade_svn\prototypes\IcadeDBUtils\src with patternSet{ includes: [**/*.java] excludes: [] } 
fileset: Setup scanner in dir C:\work\icade_svn\iCADE-JCommons\trunk\src with patternSet{ includes: [**/*.java] excludes: [] } 
fileset: Setup scanner in dir C:\work\icade_svn\icadePooler\trunk\src with patternSet{ includes: [**/*.java] excludes: [] } 
fileset: Setup scanner in dir C:\work\icade_svn\InitialKeyingClasses\trunk\src with patternSet{ includes: [**/*.java] excludes: [] } 
fileset: Setup scanner in dir C:\work\icade_svn\LauncherServer\trunk\src with patternSet{ includes: [**/*.java] excludes: [] } 
fileset: Setup scanner in dir C:\work\icade_svn\MAHP\trunk\src with patternSet{ includes: [**/*.java] excludes: [] } 
fileset: Setup scanner in dir C:\work\icade_svn\ManRegReport\trunk\src with patternSet{ includes: [**/*.java] excludes: [] } 
fileset: Setup scanner in dir C:\work\icade_svn\MatrixBuilder\trunk\src with patternSet{ includes: [**/*.java] excludes: [] } 
fileset: Setup scanner in dir C:\work\icade_svn\MTClasses\trunk\src with patternSet{ includes: [**/*.java] excludes: [] } 
fileset: Setup scanner in dir C:\work\icade_svn\OCRClient\trunk\src with patternSet{ includes: [**/*.java] excludes: [] } 
fileset: Setup scanner in dir C:\work\icade_svn\OCRReports\src with patternSet{ includes: [**/*.java] excludes: [] } 
fileset: Setup scanner in dir C:\work\icade_svn\OCRServer\trunk\src with patternSet{ includes: [**/*.java] excludes: [] } 
fileset: Setup scanner in dir C:\work\icade_svn\OMAR\trunk\src with patternSet{ includes: [**/*.java] excludes: [] } 
fileset: Setup scanner in dir C:\work\icade_svn\PDFsRecordScanner\src with patternSet{ includes: [**/*.java] excludes: [] } 
fileset: Setup scanner in dir C:\work\icade_svn\PrepCoverClasses\trunk\src with patternSet{ includes: [**/*.java] excludes: [] } 
fileset: Setup scanner in dir C:\work\icade_svn\ScannerClientPro\trunk\src with patternSet{ includes: [**/*.java] excludes: [] } 
fileset: Setup scanner in dir C:\work\icade_svn\ScannerServer\trunk\src with patternSet{ includes: [**/*.java] excludes: [] } 
fileset: Setup scanner in dir C:\work\icade_svn\Scriptviewer\trunk\src with patternSet{ includes: [**/*.java] excludes: [] } 
fileset: Setup scanner in dir C:\work\icade_svn\SecureFileTransfer\src with patternSet{ includes: [**/*.java] excludes: [] } 
fileset: Setup scanner in dir C:\work\icade_svn\SSO\trunk\src with patternSet{ includes: [**/*.java] excludes: [] } 
fileset: Setup scanner in dir C:\work\icade_svn\SSOClient\trunk\src with patternSet{ includes: [**/*.java] excludes: [] } 
fileset: Setup scanner in dir C:\work\icade_svn\STTAB\trunk\src with patternSet{ includes: [**/*.java] excludes: [] } 
fileset: Setup scanner in dir C:\work\icade_svn\TicketClient\trunk\src with patternSet{ includes: [**/*.java] excludes: [] } 
fileset: Setup scanner in dir C:\work\icade_svn\TIFF_Viewer\src with patternSet{ includes: [**/*.java] excludes: [] } 
fileset: Setup scanner in dir C:\work\icade_svn\v2CONTROLExceptionReview\trunk\src with patternSet{ includes: [**/*.java] excludes: [] } 
fileset: Setup scanner in dir C:\work\icade_svn\v2CONTROLLauncher\trunk\src with patternSet{ includes: [**/*.java] excludes: [] } 
fileset: Setup scanner in dir C:\work\icade_svn\ValidationClasses\trunk\src with patternSet{ includes: [**/*.java] excludes: [] } 
    [javadoc] Generating Javadoc 
    [javadoc] Executing 'C:\Program Files\Java\jdk1.7.0_15\bin\javadoc.exe' with arguments: 
    [javadoc] '-d' 
    [javadoc] 'C:\work\icade_svn\javadocs' 
    [javadoc] '-use' 
    [javadoc] '-windowtitle' 
    [javadoc] 'iCADE System Javadocs' 
    [javadoc] '-doctitle' 
    [javadoc] 'iCADE System Javadocs' 
    [javadoc] '-classpath' 
    [javadoc] 'C:\Users\ferru001\apache-ant-1.9.3\lib\ant-launcher.jar;C:\work\icade_svn;C:\Program Files (x86)\Java\jre1.7.0_25\lib\ext\QTJava.zip;C:\Users\ferru001\apache-ant-1.9.3\lib\ant-antlr.jar;C:\Users\ferru001\apache-ant-1.9.3\lib\ant-apache-bcel.jar;C:\Users\ferru001\apache-ant-1.9.3\lib\ant-apache-bsf.jar;C:\Users\ferru001\apache-ant-1.9.3\lib\ant-apache-log4j.jar;C:\Users\ferru001\apache-ant-1.9.3\lib\ant-apache-oro.jar;C:\Users\ferru001\apache-ant-1.9.3\lib\ant-apache-regexp.jar;C:\Users\ferru001\apache-ant-1.9.3\lib\ant-apache-resolver.jar;C:\Users\ferru001\apache-ant-1.9.3\lib\ant-apache-xalan2.jar;C:\Users\ferru001\apache-ant-1.9.3\lib\ant-commons-logging.jar;C:\Users\ferru001\apache-ant-1.9.3\lib\ant-commons-net.jar;C:\Users\ferru001\apache-ant-1.9.3\lib\ant-jai.jar;C:\Users\ferru001\apache-ant-1.9.3\lib\ant-javamail.jar;C:\Users\ferru001\apache-ant-1.9.3\lib\ant-jdepend.jar;C:\Users\ferru001\apache-ant-1.9.3\lib\ant-jmf.jar;C:\Users\ferru001\apache-ant-1.9.3\lib\ant-jsch.jar;C:\Users\ferru001\apache-ant-1.9.3\lib\ant-junit.jar;C:\Users\ferru001\apache-ant-1.9.3\lib\ant-junit4.jar;C:\Users\ferru001\apache-ant-1.9.3\lib\ant-netrexx.jar;C:\Users\ferru001\apache-ant-1.9.3\lib\ant-swing.jar;C:\Users\ferru001\apache-ant-1.9.3\lib\ant-testutil.jar;C:\Users\ferru001\apache-ant-1.9.3\lib\ant.jar;C:\Program Files\Java\jdk1.7.0_15\lib\tools.jar' 
    [javadoc] '-version' 
    [javadoc] '-author' 
    [javadoc] 'C:\work\icade_svn\ACS_Review_2008\trunk\src\icade\ACS_ProcessReview_2008\ACSInterface.java' 
    [javadoc] 'C:\work\icade_svn\ACS_Review_2008\trunk\src\icade\ACS_ProcessReview_2008\ACS_REVIEW_2008.java' 
    [javadoc] 'C:\work\icade_svn\ACS_Review_2008\trunk\src\icade\ACS_ProcessReview_2008\MyLauncher.java' 
    [javadoc] 'C:\work\icade_svn\ATAC_BCF_Reader\trunk\src\atac_bcf_reader\ATAC_BCF_Reader.java' 
    [javadoc] 'C:\work\icade_svn\ATAC_SCF_Reader\trunk\src\atac_scf_reader\ATAC_SCF_Reader.java' 
    [javadoc] 'C:\work\icade_svn\AutoRegClient\trunk\src\AutoRegClient\AutoRegClient.java' 
    [javadoc] 'C:\work\icade_svn\AutoRegClient\trunk\src\AutoRegClient\autoregclass.java' 
    [javadoc] 'C:\work\icade_svn\AutoRegServer\trunk\src\AutoRegServer\AutoRegServer.java' 
    [javadoc] 'C:\work\icade_svn\AutoRegServer\trunk\src\AutoRegServer\workclass.java' 
    [javadoc] 'C:\work\icade_svn\BatchClient\trunk\src\icade\BatchClient\Batch.java' 
    [javadoc] 'C:\work\icade_svn\BatchClient\trunk\src\icade\BatchClient\formvalclass.java' 
    [javadoc] 'C:\work\icade_svn\BatchClient\trunk\src\icade\BatchClient\myDialog.java' 
    [javadoc] 'C:\work\icade_svn\BatchClient\trunk\src\icade\BatchClient\pageFrame.java' 
    [javadoc] 'C:\work\icade_svn\BatchClient\trunk\src\icade\BatchClient\sessionclass.java' 
    [javadoc] 'C:\work\icade_svn\BatchCompletenessClasses\trunk\src\batchcompleteness\aces2010BatchCompleteness.java' 
    [javadoc] 'C:\work\icade_svn\BatchCompletenessClasses\trunk\src\batchcompleteness\aces2011BatchCompleteness.java' 
<<<LOTS MORE JAVA CLASSES >>> 
'C:\work\icade_svn\ValidationClasses\trunk\src\icade\ValidationClasses\ufo2011Validation.java' 
'C:\work\icade_svn\ValidationClasses\trunk\src\icade\ValidationClasses\ufo2012Validation.java' 
'C:\work\icade_svn\ValidationClasses\trunk\src\icade\ValidationClasses\ufo2013Validation.java' 
'C:\work\icade_svn\ValidationClasses\trunk\src\icade\ValidationClasses\ufop2009Validation.java' 

The ' characters around the executable and arguments are 
not part of the command. 

BUILD FAILED 
C:\work\icade_svn\build_javadoc.xml:19: Javadoc failed: java.io.IOException: Cannot run program "C:\Program Files\Java\jdk1.7.0_15\bin\javadoc.exe": CreateProcess error=206, The filename or extension is too long 
     at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029) 
     at java.lang.Runtime.exec(Runtime.java:615) 
     at org.apache.tools.ant.taskdefs.launcher.Java13CommandLauncher.exec(Java13CommandLauncher.java:41) 
     at org.apache.tools.ant.taskdefs.Execute.launch(Execute.java:428) 
     at org.apache.tools.ant.taskdefs.Execute.execute(Execute.java:442) 
     at org.apache.tools.ant.taskdefs.Javadoc.execute(Javadoc.java:1785) 
     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:601) 
     at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) 
     at org.apache.tools.ant.Task.perform(Task.java:348) 
     at org.apache.tools.ant.Target.execute(Target.java:435) 
     at org.apache.tools.ant.Target.performTasks(Target.java:456) 
     at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393) 
     at org.apache.tools.ant.Project.executeTarget(Project.java:1364) 
     at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) 
     at org.apache.tools.ant.Project.executeTargets(Project.java:1248) 
     at org.apache.tools.ant.Main.runBuild(Main.java:851) 
     at org.apache.tools.ant.Main.startAnt(Main.java:235) 
     at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280) 
     at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109) 
Caused by: java.io.IOException: CreateProcess error=206, The filename or extension is too long 
     at java.lang.ProcessImpl.create(Native Method) 
     at java.lang.ProcessImpl.<init>(ProcessImpl.java:189) 
     at java.lang.ProcessImpl.start(ProcessImpl.java:133) 
     at java.lang.ProcessBuilder.start(ProcessBuilder.java:1021) 
     ... 22 more 

Total time: 1 second 

它是什麼樣子的情況是,Javadoc中被調用與每個Java文件的一部分參數列表,顯然這是行不通的,因爲Windows對參數的大小有限制,您可以傳遞給程序。任何幫助讚賞如何使這項工作。

+0

使用不同的參數重複調用javadoc任務。或者,從父構建文件中調用每個項目的javadoc任務。 –

+0

如何讓Javadoc在項目之間解析和鏈接類? –

+0

[CreateProcess error = 206,運行main()方法時文件名或擴展名太長可能會重複(http://stackoverflow.com/questions/10519558/createprocess-error-206-the-filename-or-extension -is-too-long-when-running-main) – PhoneixS

回答

2

您的堆棧跟蹤的開始是信息:

C:\work\icade_svn\build_javadoc.xml:19: Javadoc failed: java.io.IOException: Cannot run program "C:\Program Files\Java\jdk1.7.0_15\bin\javadoc.exe": CreateProcess error=206, The filename or extension is too long

似乎有此問題相關的有用信息:

https://www.google.com/search?q=CreateProcess+error%3D206%2C+The+filename+or+extension+is+too+long

包括這種潛在的解決方法: https://stackoverflow.com/a/10598074/2736496

我希望這有助於。祝你好運。

+0

好吧,我可以通過將所有文件夾連接到javadoc任務的sourcepath屬性中來解決問題。 –

+0

我很高興聽到你解決它。並感謝您接受我的回答。 – aliteralmind