Eclipse 中 Android 项目的 Javadoc 失败并出现 NullPointerException
我试图在 Eclipse 中为我的 Android 项目生成 javadoc 注释,但我不断收到 NullPointerException。仅当我尝试为导入 Android 兼容性库 (android.support),我已将其作为外部 jar 附加。我还参考了 Android 2.2 和几个库项目,但这些项目本身不会导致此错误。
Loading source file /home/travisc/Desktop/Android/App/workspace/Restaurant/src/com/yellowbrickcode/restaurant/StartupActivity.java...
Constructing Javadoc information...
StartupActivity.java:3: package android.content does not exist
import android.content.ContentValues;
^
StartupActivity.java:4: package android.content does not exist
import android.content.Intent;
^
StartupActivity.java:5: package android.content does not exist
import android.content.SharedPreferences;
^
StartupActivity.java:6: package android.content.SharedPreferences does not exist
import android.content.SharedPreferences.Editor;
^
StartupActivity.java:7: package android.os does not exist
import android.os.Bundle;
^
StartupActivity.java:8: package android.preference does not exist
import android.preference.PreferenceManager;
^
StartupActivity.java:10: package android.view does not exist
import android.view.Menu;
^
StartupActivity.java:11: package android.view does not exist
import android.view.MenuItem;
^
StartupActivity.java:12: package android.view does not exist
import android.view.View;
^
StartupActivity.java:14: package android.view does not exist
import android.view.ViewGroup;
^
StartupActivity.java:15: package android.widget does not exist
import android.widget.ImageButton;
^
StartupActivity.java:27: cannot access android.app.Activity
class file for android.app.Activity not found
public class StartupActivity extends FragmentActivity {
^
StartupActivity.java:29: cannot find symbol
symbol : class OnClickListener
location: class com.yellowbrickcode.restaurant.StartupActivity
private OnClickListener mMenuListener = new OnClickListener() {
^
StartupActivity.java:38: cannot find symbol
symbol : class OnClickListener
location: class com.yellowbrickcode.restaurant.StartupActivity
private OnClickListener mAccountListener = new OnClickListener() {
^
StartupActivity.java:49: cannot find symbol
symbol : class OnClickListener
location: class com.yellowbrickcode.restaurant.StartupActivity
private OnClickListener mCheckinListener = new OnClickListener() {
^
StartupActivity.java:68: cannot find symbol
symbol : class Menu
location: class com.yellowbrickcode.restaurant.StartupActivity
public boolean onCreateOptionsMenu(Menu menu) {
^
StartupActivity.java:74: cannot find symbol
symbol : class MenuItem
location: class com.yellowbrickcode.restaurant.StartupActivity
public boolean onOptionsItemSelected(MenuItem item) {
^
StartupActivity.java:80: cannot find symbol
symbol : class Bundle
location: class com.yellowbrickcode.restaurant.StartupActivity
protected void onCreate(Bundle savedInstanceState) {
^
PushService.java:14: package org.json does not exist
import org.json.JSONException;
^
PushService.java:16: package android.app does not exist
import android.app.AlarmManager;
^
PushService.java:17: package android.app does not exist
import android.app.IntentService;
^
PushService.java:18: package android.app does not exist
import android.app.Notification;
^
PushService.java:19: package android.app does not exist
import android.app.NotificationManager;
^
PushService.java:20: package android.app does not exist
import android.app.PendingIntent;
^
PushService.java:21: package android.content does not exist
import android.content.BroadcastReceiver;
^
PushService.java:22: package android.content does not exist
import android.content.Context;
^
PushService.java:23: package android.content does not exist
import android.content.Intent;
^
PushService.java:24: package android.content does not exist
import android.content.SharedPreferences;
^
PushService.java:25: package android.content.SharedPreferences does not exist
import android.content.SharedPreferences.Editor;
^
PushService.java:26: package android.os does not exist
import android.os.Binder;
^
PushService.java:27: package android.os does not exist
import android.os.IBinder;
^
PushService.java:28: package android.os does not exist
import android.os.SystemClock;
^
PushService.java:29: package android.preference does not exist
import android.preference.PreferenceManager;
^
PushService.java:30: package android.util does not exist
import android.util.Log;
^
RemoteUpdater.java:13: package org.json does not exist
import org.json.JSONArray;
^
RemoteUpdater.java:14: package org.json does not exist
import org.json.JSONException;
^
RemoteUpdater.java:15: package org.json does not exist
import org.json.JSONObject;
^
RemoteUpdater.java:17: package android.content does not exist
import android.content.ContentResolver;
^
RemoteUpdater.java:18: package android.content does not exist
import android.content.ContentValues;
^
RemoteUpdater.java:20: package android.database does not exist
import android.database.Cursor;
^
RemoteUpdater.java:21: package android.database does not exist
import android.database.SQLException;
^
RemoteUpdater.java:23: package android.net does not exist
import android.net.Uri;
^
RemoteUpdater.java:24: package android.util does not exist
import android.util.Log;
^
PushService.java:54: cannot find symbol
symbol: class IntentService
public class PushService extends IntentService implements Saveable {
^
PushService.java:681: cannot find symbol
symbol : class Binder
location: class com.yellowbrickcode.restaurant.c2dm.PushService
protected class PushBinder extends Binder {
^
PushService.java:178: cannot find symbol
symbol : class Context
location: class com.yellowbrickcode.restaurant.c2dm.PushService
public boolean clear(Context ctx) {
^
PushService.java:190: cannot find symbol
symbol : class Intent
location: class com.yellowbrickcode.restaurant.c2dm.PushService
public IBinder onBind(Intent intent) {
^
PushService.java:190: cannot find symbol
symbol : class IBinder
location: class com.yellowbrickcode.restaurant.c2dm.PushService
public IBinder onBind(Intent intent) {
^
PushService.java:205: cannot find symbol
symbol : class Context
location: class com.yellowbrickcode.restaurant.c2dm.PushService
public boolean restore(Context ctx) {
^
PushService.java:228: cannot find symbol
symbol : class Context
location: class com.yellowbrickcode.restaurant.c2dm.PushService
public boolean save(Context ctx) {
^
PushService.java:254: cannot find symbol
symbol : class Intent
location: class com.yellowbrickcode.restaurant.c2dm.PushService
protected void onHandleIntent(Intent intent) {
^
PushService.java:357: cannot find symbol
symbol : class Intent
location: class com.yellowbrickcode.restaurant.c2dm.PushService
private void receiveMessage(Intent intent) {
^
PushService.java:393: cannot find symbol
symbol : class Intent
location: class com.yellowbrickcode.restaurant.c2dm.PushService
private void receiveRegistration(Intent intent) throws JSONException {
^
PushService.java:393: cannot find symbol
symbol : class JSONException
location: class com.yellowbrickcode.restaurant.c2dm.PushService
private void receiveRegistration(Intent intent) throws JSONException {
^
PushService.java:416: cannot find symbol
symbol : class Intent
location: class com.yellowbrickcode.restaurant.c2dm.PushService
private void register(Intent intent) {
^
PushService.java:456: cannot find symbol
symbol : class Intent
location: class com.yellowbrickcode.restaurant.c2dm.PushService
private void retryAction(Intent intent) {
^
PushService.java:498: cannot find symbol
symbol : class JSONException
location: class com.yellowbrickcode.restaurant.c2dm.PushService
private void unregister() throws JSONException{
^
PushService.java:523: cannot find symbol
symbol : class JSONException
location: class com.yellowbrickcode.restaurant.c2dm.PushService
private void unregisterServer(String regId) throws JSONException{
^
PushService.java:545: cannot find symbol
symbol : class Intent
location: class com.yellowbrickcode.restaurant.c2dm.PushService
private void updateRegistration(Intent intent) throws JSONException {
^
PushService.java:545: cannot find symbol
symbol : class JSONException
location: class com.yellowbrickcode.restaurant.c2dm.PushService
private void updateRegistration(Intent intent) throws JSONException {
^
RemoteUpdater.java:72: cannot find symbol
symbol : class ContentValues
location: class com.yellowbrickcode.restaurant.c2dm.RemoteUpdater
private ArrayList<ContentValues> mInsertedRecords;
^
RemoteUpdater.java:77: cannot find symbol
symbol : class ContentValues
location: class com.yellowbrickcode.restaurant.c2dm.RemoteUpdater
private ArrayList<ContentValues> mInsertedMappings;
^
RemoteUpdater.java:86: cannot find symbol
symbol : class ContentResolver
location: class com.yellowbrickcode.restaurant.c2dm.RemoteUpdater
private ContentResolver mResolver;
^
RemoteUpdater.java:97: cannot find symbol
symbol : class ContentResolver
location: class com.yellowbrickcode.restaurant.c2dm.RemoteUpdater
public RemoteUpdater(String authority, ContentResolver resolver) {
^
RemoteUpdater.java:192: cannot find symbol
symbol : class JSONObject
location: class com.yellowbrickcode.restaurant.c2dm.RemoteUpdater
private boolean updateNewsFeed(JSONObject serverData) {
^
RemoteUpdater.java:207: cannot find symbol
symbol : class JSONObject
location: class com.yellowbrickcode.restaurant.c2dm.RemoteUpdater
private boolean updateTable(JSONObject serverData, Uri authority,
^
RemoteUpdater.java:207: cannot find symbol
symbol : class Uri
location: class com.yellowbrickcode.restaurant.c2dm.RemoteUpdater
private boolean updateTable(JSONObject serverData, Uri authority,
^
RemoteUpdater.java:208: cannot find symbol
symbol : class JSONException
location: class com.yellowbrickcode.restaurant.c2dm.RemoteUpdater
String table, String date) throws JSONException {
^
RemoteUpdater.java:234: cannot find symbol
symbol : class JSONObject
location: class com.yellowbrickcode.restaurant.c2dm.RemoteUpdater
private boolean updateMenu(JSONObject serverData) {
^
RemoteUpdater.java:308: cannot find symbol
symbol : class Uri
location: class com.yellowbrickcode.restaurant.c2dm.RemoteUpdater
private boolean commitUpdates(Uri authority, String table, String date) {
^
RemoteUpdater.java:365: cannot find symbol
symbol : class JSONArray
location: class com.yellowbrickcode.restaurant.c2dm.RemoteUpdater
private void parseRecords(JSONArray records, boolean delete)
^
RemoteUpdater.java:366: cannot find symbol
symbol : class JSONException
location: class com.yellowbrickcode.restaurant.c2dm.RemoteUpdater
throws JSONException {
^
PushService.java:612: cannot find symbol
symbol : class BroadcastReceiver
location: class com.yellowbrickcode.restaurant.c2dm.PushService
public static class Receiver extends BroadcastReceiver {
^
PushService.java:629: cannot find symbol
symbol : class Context
location: class com.yellowbrickcode.restaurant.c2dm.PushService.Receiver
public void onReceive(Context context, Intent intent) {
^
PushService.java:629: cannot find symbol
symbol : class Intent
location: class com.yellowbrickcode.restaurant.c2dm.PushService.Receiver
public void onReceive(Context context, Intent intent) {
^
SyncPreferences.java:10: package android.os does not exist
import android.os.Bundle;
^
SyncPreferences.java:11: package android.preference does not exist
import android.preference.PreferenceActivity;
^
SyncPreferences.java:23: cannot find symbol
symbol: class PreferenceActivity
public class SyncPreferences extends PreferenceActivity {
^
SyncPreferences.java:27: cannot find symbol
symbol : class Bundle
location: class com.yellowbrickcode.restaurant.c2dm.SyncPreferences
protected void onCreate(Bundle savedInstanceState) {
^
Provider.java:5: package android.content does not exist
import android.content.ContentProvider;
^
Provider.java:6: package android.content does not exist
import android.content.ContentValues;
^
Provider.java:7: package android.content does not exist
import android.content.UriMatcher;
^
Provider.java:8: package android.database does not exist
import android.database.Cursor;
^
Provider.java:9: package android.database.sqlite does not exist
import android.database.sqlite.SQLiteDatabase;
^
Provider.java:10: package android.graphics.drawable does not exist
import android.graphics.drawable.Drawable;
^
Provider.java:11: package android.net does not exist
import android.net.Uri;
^
Provider.java:12: package android.util does not exist
import android.util.Log;
^
Provider.java:41: cannot find symbol
symbol: class ContentProvider
public class Provider extends ContentProvider {
^
Provider.java:51: cannot find symbol
symbol : class Uri
location: class com.yellowbrickcode.restaurant.database.Provider
public static final Uri CONTENT_URI =
^
Provider.java:57: cannot find symbol
symbol : class Uri
location: class com.yellowbrickcode.restaurant.database.Provider
public static final Uri MENU_URI = Uri.withAppendedPath(CONTENT_URI, UpdateType.menu.toString());
^
Provider.java:62: cannot find symbol
symbol : class Uri
location: class com.yellowbrickcode.restaurant.database.Provider
public static final Uri NEWS_FEED_URI = Uri.withAppendedPath(CONTENT_URI, Table.NEWS_FEED.name);
^
Provider.java:65: cannot find symbol
symbol : class Uri
location: class com.yellowbrickcode.restaurant.database.Provider
public static final Uri UPDATES_URI = Uri.withAppendedPath(CONTENT_URI, Table.UPDATE_LOG.name);
^
Provider.java:70: cannot find symbol
symbol : class Uri
location: class com.yellowbrickcode.restaurant.database.Provider
public static final Uri IMAGE_URI = Uri.withAppendedPath(CONTENT_URI, Table.IMAGE.name);
^
Provider.java:80: cannot find symbol
symbol : class UriMatcher
location: class com.yellowbrickcode.restaurant.database.Provider
private static final UriMatcher URI_MATCHER;
^
DatabaseHelper.java:3: package android.content does not exist
import android.content.ContentValues;
^
DatabaseHelper.java:5: package android.database.sqlite does not exist
import android.database.sqlite.SQLiteDatabase;
^
DatabaseHelper.java:6: package android.database.sqlite does not exist
import android.database.sqlite.SQLiteOpenHelper;
^
DatabaseHelper.java:7: package android.graphics does not exist
import android.graphics.Bitmap;
^
DatabaseHelper.java:8: package android.util does not exist
import android.util.Log;
^
DatabaseHelper.java:21: cannot find symbol
symbol: class SQLiteOpenHelper
public class DatabaseHelper extends SQLiteOpenHelper {
^
Standard Doclet version 1.6.0_23
Building tree for all the packages and classes...
java.lang.NullPointerException
at com.sun.tools.javadoc.TypeMaker.getType(TypeMaker.java:85)
at com.sun.tools.javadoc.TypeMaker.getType(TypeMaker.java:47)
at com.sun.tools.javadoc.ClassDocImpl.superclassType(ClassDocImpl.java:486)
at com.sun.tools.doclets.internal.toolkit.util.Util.getAllInterfaces(Util.java:405)
at com.sun.tools.doclets.internal.toolkit.util.Util.getAllInterfaces(Util.java:443)
at com.sun.tools.doclets.internal.toolkit.util.ClassTree.processType(ClassTree.java:180)
at com.sun.tools.doclets.internal.toolkit.util.ClassTree.buildTree(ClassTree.java:132)
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:41)
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:616)
at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:291)
at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:165)
at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:374)
at com.sun.tools.javadoc.Start.begin(Start.java:162)
at com.sun.tools.javadoc.Main.execute(Main.java:59)
at com.sun.tools.javadoc.Main.main(Main.java:49)
100 warnings
关键问题是底部的错误。 - 100 个警告仅涉及到主要 Android 库文档的链接,这是一个单独的问题,不会导致错误参考 android.support。事实上,没有任何警告显示类似“package android.support does not exit”的内容。这让我相信 javadoc 正在寻找兼容性库,但是涉及 jar 的某些东西或我引用它的方式在最终 javadoc 生成时导致了错误。
任何有关可能导致错误的原因的想法都值得赞赏。
I am trying to generate javadoc comments in Eclipse for my Android Project, but I keep getting a NullPointerException. The problem occurs only when I try to generate javadocs for classes that import the Android Compatibility Library (android.support), which I have attached as an external jar. I also reference Android 2.2 and several Library Projects, but those do not cause this error on their own.
Loading source file /home/travisc/Desktop/Android/App/workspace/Restaurant/src/com/yellowbrickcode/restaurant/StartupActivity.java...
Constructing Javadoc information...
StartupActivity.java:3: package android.content does not exist
import android.content.ContentValues;
^
StartupActivity.java:4: package android.content does not exist
import android.content.Intent;
^
StartupActivity.java:5: package android.content does not exist
import android.content.SharedPreferences;
^
StartupActivity.java:6: package android.content.SharedPreferences does not exist
import android.content.SharedPreferences.Editor;
^
StartupActivity.java:7: package android.os does not exist
import android.os.Bundle;
^
StartupActivity.java:8: package android.preference does not exist
import android.preference.PreferenceManager;
^
StartupActivity.java:10: package android.view does not exist
import android.view.Menu;
^
StartupActivity.java:11: package android.view does not exist
import android.view.MenuItem;
^
StartupActivity.java:12: package android.view does not exist
import android.view.View;
^
StartupActivity.java:14: package android.view does not exist
import android.view.ViewGroup;
^
StartupActivity.java:15: package android.widget does not exist
import android.widget.ImageButton;
^
StartupActivity.java:27: cannot access android.app.Activity
class file for android.app.Activity not found
public class StartupActivity extends FragmentActivity {
^
StartupActivity.java:29: cannot find symbol
symbol : class OnClickListener
location: class com.yellowbrickcode.restaurant.StartupActivity
private OnClickListener mMenuListener = new OnClickListener() {
^
StartupActivity.java:38: cannot find symbol
symbol : class OnClickListener
location: class com.yellowbrickcode.restaurant.StartupActivity
private OnClickListener mAccountListener = new OnClickListener() {
^
StartupActivity.java:49: cannot find symbol
symbol : class OnClickListener
location: class com.yellowbrickcode.restaurant.StartupActivity
private OnClickListener mCheckinListener = new OnClickListener() {
^
StartupActivity.java:68: cannot find symbol
symbol : class Menu
location: class com.yellowbrickcode.restaurant.StartupActivity
public boolean onCreateOptionsMenu(Menu menu) {
^
StartupActivity.java:74: cannot find symbol
symbol : class MenuItem
location: class com.yellowbrickcode.restaurant.StartupActivity
public boolean onOptionsItemSelected(MenuItem item) {
^
StartupActivity.java:80: cannot find symbol
symbol : class Bundle
location: class com.yellowbrickcode.restaurant.StartupActivity
protected void onCreate(Bundle savedInstanceState) {
^
PushService.java:14: package org.json does not exist
import org.json.JSONException;
^
PushService.java:16: package android.app does not exist
import android.app.AlarmManager;
^
PushService.java:17: package android.app does not exist
import android.app.IntentService;
^
PushService.java:18: package android.app does not exist
import android.app.Notification;
^
PushService.java:19: package android.app does not exist
import android.app.NotificationManager;
^
PushService.java:20: package android.app does not exist
import android.app.PendingIntent;
^
PushService.java:21: package android.content does not exist
import android.content.BroadcastReceiver;
^
PushService.java:22: package android.content does not exist
import android.content.Context;
^
PushService.java:23: package android.content does not exist
import android.content.Intent;
^
PushService.java:24: package android.content does not exist
import android.content.SharedPreferences;
^
PushService.java:25: package android.content.SharedPreferences does not exist
import android.content.SharedPreferences.Editor;
^
PushService.java:26: package android.os does not exist
import android.os.Binder;
^
PushService.java:27: package android.os does not exist
import android.os.IBinder;
^
PushService.java:28: package android.os does not exist
import android.os.SystemClock;
^
PushService.java:29: package android.preference does not exist
import android.preference.PreferenceManager;
^
PushService.java:30: package android.util does not exist
import android.util.Log;
^
RemoteUpdater.java:13: package org.json does not exist
import org.json.JSONArray;
^
RemoteUpdater.java:14: package org.json does not exist
import org.json.JSONException;
^
RemoteUpdater.java:15: package org.json does not exist
import org.json.JSONObject;
^
RemoteUpdater.java:17: package android.content does not exist
import android.content.ContentResolver;
^
RemoteUpdater.java:18: package android.content does not exist
import android.content.ContentValues;
^
RemoteUpdater.java:20: package android.database does not exist
import android.database.Cursor;
^
RemoteUpdater.java:21: package android.database does not exist
import android.database.SQLException;
^
RemoteUpdater.java:23: package android.net does not exist
import android.net.Uri;
^
RemoteUpdater.java:24: package android.util does not exist
import android.util.Log;
^
PushService.java:54: cannot find symbol
symbol: class IntentService
public class PushService extends IntentService implements Saveable {
^
PushService.java:681: cannot find symbol
symbol : class Binder
location: class com.yellowbrickcode.restaurant.c2dm.PushService
protected class PushBinder extends Binder {
^
PushService.java:178: cannot find symbol
symbol : class Context
location: class com.yellowbrickcode.restaurant.c2dm.PushService
public boolean clear(Context ctx) {
^
PushService.java:190: cannot find symbol
symbol : class Intent
location: class com.yellowbrickcode.restaurant.c2dm.PushService
public IBinder onBind(Intent intent) {
^
PushService.java:190: cannot find symbol
symbol : class IBinder
location: class com.yellowbrickcode.restaurant.c2dm.PushService
public IBinder onBind(Intent intent) {
^
PushService.java:205: cannot find symbol
symbol : class Context
location: class com.yellowbrickcode.restaurant.c2dm.PushService
public boolean restore(Context ctx) {
^
PushService.java:228: cannot find symbol
symbol : class Context
location: class com.yellowbrickcode.restaurant.c2dm.PushService
public boolean save(Context ctx) {
^
PushService.java:254: cannot find symbol
symbol : class Intent
location: class com.yellowbrickcode.restaurant.c2dm.PushService
protected void onHandleIntent(Intent intent) {
^
PushService.java:357: cannot find symbol
symbol : class Intent
location: class com.yellowbrickcode.restaurant.c2dm.PushService
private void receiveMessage(Intent intent) {
^
PushService.java:393: cannot find symbol
symbol : class Intent
location: class com.yellowbrickcode.restaurant.c2dm.PushService
private void receiveRegistration(Intent intent) throws JSONException {
^
PushService.java:393: cannot find symbol
symbol : class JSONException
location: class com.yellowbrickcode.restaurant.c2dm.PushService
private void receiveRegistration(Intent intent) throws JSONException {
^
PushService.java:416: cannot find symbol
symbol : class Intent
location: class com.yellowbrickcode.restaurant.c2dm.PushService
private void register(Intent intent) {
^
PushService.java:456: cannot find symbol
symbol : class Intent
location: class com.yellowbrickcode.restaurant.c2dm.PushService
private void retryAction(Intent intent) {
^
PushService.java:498: cannot find symbol
symbol : class JSONException
location: class com.yellowbrickcode.restaurant.c2dm.PushService
private void unregister() throws JSONException{
^
PushService.java:523: cannot find symbol
symbol : class JSONException
location: class com.yellowbrickcode.restaurant.c2dm.PushService
private void unregisterServer(String regId) throws JSONException{
^
PushService.java:545: cannot find symbol
symbol : class Intent
location: class com.yellowbrickcode.restaurant.c2dm.PushService
private void updateRegistration(Intent intent) throws JSONException {
^
PushService.java:545: cannot find symbol
symbol : class JSONException
location: class com.yellowbrickcode.restaurant.c2dm.PushService
private void updateRegistration(Intent intent) throws JSONException {
^
RemoteUpdater.java:72: cannot find symbol
symbol : class ContentValues
location: class com.yellowbrickcode.restaurant.c2dm.RemoteUpdater
private ArrayList<ContentValues> mInsertedRecords;
^
RemoteUpdater.java:77: cannot find symbol
symbol : class ContentValues
location: class com.yellowbrickcode.restaurant.c2dm.RemoteUpdater
private ArrayList<ContentValues> mInsertedMappings;
^
RemoteUpdater.java:86: cannot find symbol
symbol : class ContentResolver
location: class com.yellowbrickcode.restaurant.c2dm.RemoteUpdater
private ContentResolver mResolver;
^
RemoteUpdater.java:97: cannot find symbol
symbol : class ContentResolver
location: class com.yellowbrickcode.restaurant.c2dm.RemoteUpdater
public RemoteUpdater(String authority, ContentResolver resolver) {
^
RemoteUpdater.java:192: cannot find symbol
symbol : class JSONObject
location: class com.yellowbrickcode.restaurant.c2dm.RemoteUpdater
private boolean updateNewsFeed(JSONObject serverData) {
^
RemoteUpdater.java:207: cannot find symbol
symbol : class JSONObject
location: class com.yellowbrickcode.restaurant.c2dm.RemoteUpdater
private boolean updateTable(JSONObject serverData, Uri authority,
^
RemoteUpdater.java:207: cannot find symbol
symbol : class Uri
location: class com.yellowbrickcode.restaurant.c2dm.RemoteUpdater
private boolean updateTable(JSONObject serverData, Uri authority,
^
RemoteUpdater.java:208: cannot find symbol
symbol : class JSONException
location: class com.yellowbrickcode.restaurant.c2dm.RemoteUpdater
String table, String date) throws JSONException {
^
RemoteUpdater.java:234: cannot find symbol
symbol : class JSONObject
location: class com.yellowbrickcode.restaurant.c2dm.RemoteUpdater
private boolean updateMenu(JSONObject serverData) {
^
RemoteUpdater.java:308: cannot find symbol
symbol : class Uri
location: class com.yellowbrickcode.restaurant.c2dm.RemoteUpdater
private boolean commitUpdates(Uri authority, String table, String date) {
^
RemoteUpdater.java:365: cannot find symbol
symbol : class JSONArray
location: class com.yellowbrickcode.restaurant.c2dm.RemoteUpdater
private void parseRecords(JSONArray records, boolean delete)
^
RemoteUpdater.java:366: cannot find symbol
symbol : class JSONException
location: class com.yellowbrickcode.restaurant.c2dm.RemoteUpdater
throws JSONException {
^
PushService.java:612: cannot find symbol
symbol : class BroadcastReceiver
location: class com.yellowbrickcode.restaurant.c2dm.PushService
public static class Receiver extends BroadcastReceiver {
^
PushService.java:629: cannot find symbol
symbol : class Context
location: class com.yellowbrickcode.restaurant.c2dm.PushService.Receiver
public void onReceive(Context context, Intent intent) {
^
PushService.java:629: cannot find symbol
symbol : class Intent
location: class com.yellowbrickcode.restaurant.c2dm.PushService.Receiver
public void onReceive(Context context, Intent intent) {
^
SyncPreferences.java:10: package android.os does not exist
import android.os.Bundle;
^
SyncPreferences.java:11: package android.preference does not exist
import android.preference.PreferenceActivity;
^
SyncPreferences.java:23: cannot find symbol
symbol: class PreferenceActivity
public class SyncPreferences extends PreferenceActivity {
^
SyncPreferences.java:27: cannot find symbol
symbol : class Bundle
location: class com.yellowbrickcode.restaurant.c2dm.SyncPreferences
protected void onCreate(Bundle savedInstanceState) {
^
Provider.java:5: package android.content does not exist
import android.content.ContentProvider;
^
Provider.java:6: package android.content does not exist
import android.content.ContentValues;
^
Provider.java:7: package android.content does not exist
import android.content.UriMatcher;
^
Provider.java:8: package android.database does not exist
import android.database.Cursor;
^
Provider.java:9: package android.database.sqlite does not exist
import android.database.sqlite.SQLiteDatabase;
^
Provider.java:10: package android.graphics.drawable does not exist
import android.graphics.drawable.Drawable;
^
Provider.java:11: package android.net does not exist
import android.net.Uri;
^
Provider.java:12: package android.util does not exist
import android.util.Log;
^
Provider.java:41: cannot find symbol
symbol: class ContentProvider
public class Provider extends ContentProvider {
^
Provider.java:51: cannot find symbol
symbol : class Uri
location: class com.yellowbrickcode.restaurant.database.Provider
public static final Uri CONTENT_URI =
^
Provider.java:57: cannot find symbol
symbol : class Uri
location: class com.yellowbrickcode.restaurant.database.Provider
public static final Uri MENU_URI = Uri.withAppendedPath(CONTENT_URI, UpdateType.menu.toString());
^
Provider.java:62: cannot find symbol
symbol : class Uri
location: class com.yellowbrickcode.restaurant.database.Provider
public static final Uri NEWS_FEED_URI = Uri.withAppendedPath(CONTENT_URI, Table.NEWS_FEED.name);
^
Provider.java:65: cannot find symbol
symbol : class Uri
location: class com.yellowbrickcode.restaurant.database.Provider
public static final Uri UPDATES_URI = Uri.withAppendedPath(CONTENT_URI, Table.UPDATE_LOG.name);
^
Provider.java:70: cannot find symbol
symbol : class Uri
location: class com.yellowbrickcode.restaurant.database.Provider
public static final Uri IMAGE_URI = Uri.withAppendedPath(CONTENT_URI, Table.IMAGE.name);
^
Provider.java:80: cannot find symbol
symbol : class UriMatcher
location: class com.yellowbrickcode.restaurant.database.Provider
private static final UriMatcher URI_MATCHER;
^
DatabaseHelper.java:3: package android.content does not exist
import android.content.ContentValues;
^
DatabaseHelper.java:5: package android.database.sqlite does not exist
import android.database.sqlite.SQLiteDatabase;
^
DatabaseHelper.java:6: package android.database.sqlite does not exist
import android.database.sqlite.SQLiteOpenHelper;
^
DatabaseHelper.java:7: package android.graphics does not exist
import android.graphics.Bitmap;
^
DatabaseHelper.java:8: package android.util does not exist
import android.util.Log;
^
DatabaseHelper.java:21: cannot find symbol
symbol: class SQLiteOpenHelper
public class DatabaseHelper extends SQLiteOpenHelper {
^
Standard Doclet version 1.6.0_23
Building tree for all the packages and classes...
java.lang.NullPointerException
at com.sun.tools.javadoc.TypeMaker.getType(TypeMaker.java:85)
at com.sun.tools.javadoc.TypeMaker.getType(TypeMaker.java:47)
at com.sun.tools.javadoc.ClassDocImpl.superclassType(ClassDocImpl.java:486)
at com.sun.tools.doclets.internal.toolkit.util.Util.getAllInterfaces(Util.java:405)
at com.sun.tools.doclets.internal.toolkit.util.Util.getAllInterfaces(Util.java:443)
at com.sun.tools.doclets.internal.toolkit.util.ClassTree.processType(ClassTree.java:180)
at com.sun.tools.doclets.internal.toolkit.util.ClassTree.buildTree(ClassTree.java:132)
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:41)
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:616)
at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:291)
at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:165)
at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:374)
at com.sun.tools.javadoc.Start.begin(Start.java:162)
at com.sun.tools.javadoc.Main.execute(Main.java:59)
at com.sun.tools.javadoc.Main.main(Main.java:49)
100 warnings
The key problem is the error at the bottom. - The 100 warnings only involve linking to the main Android library documentation, which is a separate issue that does not cause the error without reference to android.support. In fact, none of the warnings say anything resembling "package android.support does not exist". This leads me to believe the javadoc is finding the compatibility library, but that something involving the jar or the way I reference it is causing an error when it comes to final javadoc generation.
Any ideas about what might be causing the error are appreciated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我遇到了类似的问题,如果我取消选中除 src 之外的所有内容,错误就会消失。
I was having a similar problem and if i unchecked everything except
src
, the error went away.我有相同的调用堆栈和一组完全不同的 java 文件和库。在我完成类路径以包含所有基类、基接口和从 javadoc 引用的其他类后,错误消失了。因此,修复所有“找不到符号”警告也修复了调用堆栈。
I had the same callstack with a completely different set of java files and libraries. The error went away after I completed the classpath to include all base classes, base interfaces and other classes that where referenced from the javadoc. So fixing all the "cannot find symbol" warnings fixed the callstack as well.
我有同样的错误。通过在向导中选择项目的不同部分,有时会触发错误,有时则不会。
不管怎样,在这个错误之前有很多“package android.* does not exit”的警告,所以我决定先去掉这些。 这是对我有用的解决方法。
现在,随着这些警告消息消失,
NullPointerException
也消失了!我能够为整个项目生成 javadoc,包括引用的库项目、第 3 方库 jar 和 Android 框架类的链接。I had the same error. By selecting different parts of the project in the wizard the error would sometimes trigger and sometimes not.
Anyway, before that error there's a lot of "package android.* does not exist" warnings, so I decided to get rid of these first. Here's the workaround that worked for me.
Now, with these warning messages gone, the
NullPointerException
disappeared too! I was able to generate javadoc for the entire project, including links to referenced library projects, 3rd party library jars and Android framework classes.