2012-07-03 44 views
4

我還沒有爲Android項目生成JavaDocs,我一直在爲此工作了大約一個月。我只是想和我得到下面的輸出(沒有輸出到我的輸出目錄):Eclipse - 生成JavaDoc - 空指針異常

Building tree for all the packages and classes... 
java.lang.NullPointerException 
    at com.sun.tools.javadoc.TypeMaker.getType(TypeMaker.java:83) 
    at com.sun.tools.javadoc.TypeMaker.getType(TypeMaker.java:44) 
    at com.sun.tools.javadoc.ClassDocImpl.superclassType(ClassDocImpl.java:496) 
    at com.sun.tools.doclets.internal.toolkit.util.Util.getAllInterfaces(Util.java:447) 
    at com.sun.tools.doclets.internal.toolkit.util.Util.getAllInterfaces(Util.java:485) 
    at com.sun.tools.doclets.internal.toolkit.util.ClassTree.processType(ClassTree.java:184) 
    at com.sun.tools.doclets.internal.toolkit.util.ClassTree.buildTree(ClassTree.java:136) 
    at com.sun.tools.doclets.internal.toolkit.util.ClassTree.<init>(ClassTree.java:91) 
    at com.sun.tools.doclets.internal.toolkit.AbstractDoclet.startGeneration(AbstractDoclet.java:123) 
    at com.sun.tools.doclets.internal.toolkit.AbstractDoclet.start(AbstractDoclet.java:83) 
    at com.sun.tools.doclets.formats.html.HtmlDoclet.start(HtmlDoclet.java:63) 
    at com.sun.tools.doclets.standard.Standard.start(Standard.java:39) 
    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 com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:280) 
    at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:160) 
    at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:397) 
    at com.sun.tools.javadoc.Start.begin(Start.java:167) 
    at com.sun.tools.javadoc.Main.execute(Main.java:59) 
    at com.sun.tools.javadoc.Main.main(Main.java:49) 
2016 warnings 

我建立在項目一級(安卓)的文檔,並且是包括ActionBarSherlock和Facebook的Android項目。不管我是否包括它們,文檔仍然失敗。

我試圖在Eclipse的Java EE IDE爲Web開發者,靛藍運行此,構建20120216-1857

javadoc命令是:

/Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home/bin/javadoc 

與配置有點玩,和我收到以下錯誤:

full/path/BaseModelListAdapter.java:147: error: unmappable character for encoding ASCII * @param parent?

線路是:

* @param parentß

刪除該行刪除錯誤之一,但我仍然越來越怪異的,如無法找到基本的Android包:

/full/path/CompositeCategoryAdapter.java:7: error: package android.view does not exist import android.view.View; ^

和符號錯誤:

BaseModelListAdapter.java:420: error: cannot find symbol 
public static BaseModelItemRowViewHolder createInstance(View v) 
                 ^
symbol: class View 
location: class BaseModelItemRowViewHolder 
+0

你真的問兩個問題在這裏:一個是你得到了NPE,另一個似乎是一個不相關的類路徑問題。嘗試爲類路徑問題創建一個新問題,並且您可能會得到更好的答案。 –

回答

3

你可能需要運行:

javadoc -encoding utf-8 

或者,您可以使用Unicode轉義(例如, \u0000)而不是直接包含Unicode字符。

可能相關的問題:Unicode in javadoc and comments?

+0

良好的調用,但它似乎是符號是錯誤的唯一原因,所以刪除它修復了特定問題。我仍然有大量的符號和包錯誤彈出窗口。 – Josh

+0

@Josh:你的整個代碼庫是否使用相同的編碼?我的猜測是,編譯器正在被其他地方的編碼問題絆倒。如果在修復所有編碼錯誤之後,仍然存在問題,那麼您可能需要爲這些問題打開一個新問題。 –

+0

我不認爲這是一個真正的環境問題,因爲刪除該字符(並應用您的論點)只能刪除發生的單個問題。正如我在編輯中指出的那樣,正如我一直在處理這個問題一樣,我發現兩個主要的錯誤是自然界中的符號和軟件包引用。 – Josh