2010-04-24 3 views
0

У меня есть класс использует следующие строки, он отлично работает в проекте Google App Engine,:Почему «импорт javax.jdo. *» Вызвал ошибку?

import javax.jdo.annotations.IdGeneratorStrategy; 
import javax.jdo.annotations.IdentityType; 
import javax.jdo.annotations.PersistenceCapable; 
import javax.jdo.annotations.Persistent; 
import javax.jdo.annotations.PrimaryKey; 

Но когда я включил этот класс в другой проект, это может вызвать ошибки:

пакет javax .jdo.annotations не существует

Что мне делать, чтобы найти javax.jdo. *?

+0

Обратите внимание, что это не рекомендуется использовать *, потому что многим людям это не понравится, потому что его очень трудно читать, и это раздражает. – wvd

ответ

3

Добавить файл JDO jar на номер class path.

+0

Как вы это делаете с помощью скрипта сборки Ant? – mgiuca

1

Звездная нотация для импорта не работает так, как вы думаете.

Это не рекурсивный - он применяет только дочерние классы в javax.jdo, а не дочерние пакеты.

Если вы хотите все классы в javax.jdo.annotations, вам также понадобится import javax.jdo.annotations.*.

Я бы рекомендовал не использовать обозначение звезды. Лучше вводить импорт для каждого класса отдельно. Используйте IDE, чтобы помочь вам. Это более понятно для вас и других программистов, которые приходят после вас, откуда пришли эти классы.

Смежные вопросы