Создайте аспект с AJDT в бывшем Java-проекте
Я решил решить проблему в проекте Java с помощью AOP, поэтому я установил AJDT 2.2.3 в свой Eclipse Kepler. Казалось, все работает нормально, так как я могу создать новый проект AspectJ и создать аспекты, и все работает как надо. Аспекты правильно сплетены и выполнены, как я и ожидал. После этого я попытался интегрировать AspectJ в мой уже существующий Java-проект. Я преобразовал это с помощью Configure > Convert to AspectJ Project
, Все еще все работает нормально, но когда я дохожу до того, что на самом деле создаю аспект в этом проекте с помощью мастера создания аспектов, я сталкиваюсь с сообщением об ошибке:Creation of element failed. See error log for more details.
Я все еще могу завершить работу мастера, но созданный файл аспектов выглядит иначе, чем файлы аспектов, созданные в моих первых попытках в проекте AspectJ.
Если я редактирую созданный файл, тот же аспект, который работал с первой попытки в оригинальном проекте AspectJ, похоже, не имеет никакого эффекта.
Сообщение журнала (некоторые строки между ними опущены):
java.lang.reflect.InvocationTargetException
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:421)
at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:1028)
at org.eclipse.jdt.internal.ui.wizards.NewElementWizard.performFinish(NewElementWizard.java:134)
...
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
Caused by: java.lang.NullPointerException
at org.eclipse.ajdt.internal.ui.wizards.AJNewTypeWizardPage.ajc$interMethod$org_eclipse_ajdt_internal_ui_wizards_AJNewTypeWizardPage$org_eclipse_ajdt_internal_ui_wizards_NewTypeWizardPage$createAJType(AJNewTypeWizardPage.aj:267)
at org.eclipse.ajdt.internal.ui.wizards.NewTypeWizardPage.ajc$interMethodDispatch2$org_eclipse_ajdt_internal_ui_wizards_AJNewTypeWizardPage$createAJType(NewTypeWizardPage.java:1)
at org.eclipse.ajdt.internal.ui.wizards.AJNewTypeWizardPage.ajc$interMethodDispatch1$org_eclipse_ajdt_internal_ui_wizards_AJNewTypeWizardPage$org_eclipse_ajdt_internal_ui_wizards_NewTypeWizardPage$createAJType(AJNewTypeWizardPage.aj)
...
org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2345)
at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:5331)
at org.eclipse.jdt.internal.ui.actions.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:106)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
Кто-нибудь знает, что эта ошибка хочет сказать мне и что я могу сделать, чтобы использовать аспекты в моем проекте?
0 ответов
Не для Kepler
, но столкнулся с аналогичной проблемой на Oxygen
. Создал Java-проект, преобразовал его вAspectJ
а позже Maven
только для того, чтобы столкнуться с проблемой, упомянутой выше. Отменил это, создал новыйMaven
проект и преобразовал его в AspectJ
. Это сработало.