![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| NiТR0 |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 28.6.2005 Репутация: нет Всего: нет |
Дано:
java\nitro\annotations\sourcelevel\ Property.java - Аннотация MyBean.java - Bean CountEditor.java - Редактор свойства бина BeanInfoAnnotationFactory.java - Фабрика процессора аннотации (обрабатывает все методы помеченные @Property и создает MyBeanBeanInfo.java) Компиляю фабрику: cmd: java>javac -classpath .;.\nitro\annotations\sourcelevel;"%JAVA_HOME%\lib"\tools.jar .\nitro\annotations\sourcelevel\BeanInfoAnnotationFactory.java Имеем (в java\nitro\annotations\sourcelevel\): Property.class BeanInfoAnnotationFactory.class BeanInfoAnnotationFactory$BeanAnnotationProcessor.class Пытаюсь завести apt используя в качестве фабрики свою (BeanInfoAnnotationFactory): cmd: java>apt -classpath .;.\nitro\annotations\sourcelevel -factory BeanInfoAnnotationFactory .\nitro\annotations\sourcelevel\MyBean.java Вот тут и затык: Problem encountered during annotation processing; see stacktrace below for more information. java.lang.NoClassDefFoundError: BeanInfoAnnotationFactory (wrong name: nitro/annotations/sourcelevel/BeanInfoAnnotationFactory) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:620) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) at java.net.URLClassLoader.defineClass(URLClassLoader.java:260) at java.net.URLClassLoader.access$000(URLClassLoader.java:56) at java.net.URLClassLoader$1.run(URLClassLoader.java:195) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at java.lang.ClassLoader.loadClass(ClassLoader.java:251) at com.sun.tools.apt.comp.Apt.main(Apt.java:287) at com.sun.tools.apt.main.JavaCompiler.compile(JavaCompiler.java:258) at com.sun.tools.apt.main.Main.compile(Main.java:1102) at com.sun.tools.apt.main.Main.compile(Main.java:964) at com.sun.tools.apt.Main.processing(Main.java:95) at com.sun.tools.apt.Main.process(Main.java:43) at com.sun.tools.apt.Main.main(Main.java:34) (После этого так же появляется java\nitro\annotations\sourcelevel\MyBean.class) Подскажите, что я делаю не так? Заранее спасибо. |
|||
|
||||
| NiТR0 |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 28.6.2005 Репутация: нет Всего: нет |
Поколдовал с параметрами javac и apt. Вот что получается:
Выполняю: cmd java>javac -classpath "%JAVA_HOME%\lib"\tools.jar -sourcepath . -d .\bin .\nitro\annotations\sourcelevel\BeanInfoAnnotationFactory.java Имею: java\nitro\ (исходники) java\bin\nitro\annotations\sourcelevel\ Property.class BeanInfoAnnotationFactory.class BeanInfoAnnotationFactory$BeanAnnotationProcessor.class Далее выполняю: cmd java>apt -classpath .\bin -d .\classgen -s .\sourcegen -factory nitro.annotations.sourcelevel.BeanInfoAnnotationFactory .\nitro\annotations\sourcelevel\MyBean.java Получаю предупреждение: warning: Annotation types without processors: [nitro.annotations.sourcelevel.Property] Опять же, генерируется только java\classgen\nitro\annotations\sourcelevel\MyBean.class А резльтата (т.е. java\sourcegen\nitro\annotations\sourcelevel\MyBeanBeanInfo.java) нет. Как тут быть? BeanInfoAnnotationFactory.java вроде по книжке делал... в нем вроде ничего сверхестественного. |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java tools & IDE's | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |