0

我决定使用 AOP 处理 Java 项目中的问题,因此我在我的 Eclipse Kepler 中安装了 AJDT 2.2.3。一切似乎都运行良好,因为我可以创建一个新的 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)

有谁知道这个错误想告诉我什么以及我可以做些什么来在我的项目中使用方面?

4

1 回答 1

0

不是for Kepler,而是遇到了类似的问题Oxygen。创建了一个Java项目,将其转换为AspectJ后来Maven才遇到上述问题。废弃它,创建一个新Maven项目并将其转换为AspectJ. 那行得通。

于 2020-02-01T19:08:20.053 回答