2016-06-13 10 views
0

hereのようにカスタムClassPathエントリを作成しようとしています。私はリンクで言及したようにして、これを行うJUnitとM2Eのソースコードも参照しました。私は新しいカスタムライブラリ]を選択し、次のクリックしたときにでも、私は以下のエラーに以下カスタムライブラリを追加するためのEclipseプラグイン

java.lang.IllegalAccessException: Class org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI can not access a member of class com.company.eclipse.buildpath.CustomClasspathContainerPage with modifiers "protected" 
at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:102) 
at java.lang.Class.newInstance(Class.java:436) 
at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:184) 
at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:905) 
at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243) 
at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:55) 
at org.eclipse.jdt.internal.ui.util.CoreUtility$1.run(CoreUtility.java:101) 
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) 
at org.eclipse.jdt.internal.ui.util.CoreUtility.createExtension(CoreUtility.java:98) 
at org.eclipse.jdt.internal.ui.wizards.buildpaths.ClasspathContainerDescriptor.createPage(ClasspathContainerDescriptor.java:64) 
at org.eclipse.jdt.internal.ui.wizards.buildpaths.ClasspathContainerWizard.getContainerPage(ClasspathContainerWizard.java:142) 
at org.eclipse.jdt.internal.ui.wizards.buildpaths.ClasspathContainerWizard.getNextPage(ClasspathContainerWizard.java:172) 
at org.eclipse.jface.wizard.WizardPage.getNextPage(WizardPage.java:166) 
at org.eclipse.jface.wizard.WizardDialog.nextPressed(WizardDialog.java:878) 
at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:425) 
at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:619) 
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248) 
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) 
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4362) 
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1113) 
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4180) 
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3769) 
at org.eclipse.jface.window.Window.runEventLoop(Window.java:827) 
at org.eclipse.jface.window.Window.open(Window.java:803) 
at org.eclipse.jdt.internal.ui.wizards.buildpaths.ClasspathContainerWizard.openWizard(ClasspathContainerWizard.java:230) 
at org.eclipse.jdt.ui.wizards.BuildPathDialogAccess.chooseContainerEntries(BuildPathDialogAccess.java:334) 
at org.eclipse.jdt.internal.ui.wizards.buildpaths.LibrariesWorkbookPage.openContainerSelectionDialog(LibrariesWorkbookPage.java:892) 
at org.eclipse.jdt.internal.ui.wizards.buildpaths.LibrariesWorkbookPage.libaryPageCustomButtonPressed(LibrariesWorkbookPage.java:266) 
at org.eclipse.jdt.internal.ui.wizards.buildpaths.LibrariesWorkbookPage.access$0(LibrariesWorkbookPage.java:253) 
at org.eclipse.jdt.internal.ui.wizards.buildpaths.LibrariesWorkbookPage$LibrariesAdapter.customButtonPressed(LibrariesWorkbookPage.java:202) 
at org.eclipse.jdt.internal.ui.wizards.dialogfields.TreeListDialogField.buttonPressed(TreeListDialogField.java:171) 
at org.eclipse.jdt.internal.ui.wizards.dialogfields.TreeListDialogField.doButtonSelected(TreeListDialogField.java:400) 
at org.eclipse.jdt.internal.ui.wizards.dialogfields.TreeListDialogField.access$2(TreeListDialogField.java:396) 
at org.eclipse.jdt.internal.ui.wizards.dialogfields.TreeListDialogField$2.widgetSelected(TreeListDialogField.java:361) 
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248) 
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) 
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4362) 
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1113) 
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4180) 
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3769) 
at org.eclipse.jface.window.Window.runEventLoop(Window.java:827) 
at org.eclipse.jface.window.Window.open(Window.java:803) 
at org.eclipse.ui.dialogs.PropertyDialogAction.run(PropertyDialogAction.java:157) 
at org.eclipse.jface.action.Action.runWithEvent(Action.java:473) 
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:595) 
at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:511) 
at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:420) 
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) 
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4362) 
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1113) 
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4180) 
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3769) 
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1127) 
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337) 
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1018) 
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156) 
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:694) 
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337) 
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:606) 
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150) 
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:139) 
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) 
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134) 
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104) 
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380) 
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:497) 
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669) 
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608) 
at org.eclipse.equinox.launcher.Main.run(Main.java:1515) 
at org.eclipse.equinox.launcher.Main.main(Main.java:1488) 

を取得していますがCustomClasspathContainerPage

public class CustomClasspathContainerPage extends NewElementWizardPage implements IClasspathContainerPage, IClasspathContainerPageExtension { 

    private IClasspathEntry containerEntry; 

    IJavaProject javaProject; 

    protected CustomClasspathContainerPage() { 
     super("CustomContainerPage"); 
     setTitle("Add custom library"); 
    } 

    @Override 
    public void initialize(IJavaProject javaProject, IClasspathEntry[] currentEntries) { 
     this.javaProject = javaProject; 
    } 

    @Override 
    public void createControl(Composite parent) { 
     Composite container = new Composite(parent, SWT.NONE); 
     GridLayout layout = new GridLayout(); 
     layout.marginHeight = 0; 
     layout.marginWidth = 0; 
     container.setLayout((Layout) layout); 
     new Label(container, 0).setText("This will set the Custom library to this project."); 
     this.setControl((Control) container); 
    } 

    @Override 
    public boolean finish() { 
     if (containerEntry == null) { 
      containerEntry = JavaCore.newContainerEntry(Core.CONTAINER_PATH); 
     } 
     return true; 
    } 

    @Override 
    public IClasspathEntry getSelection() { 
     return containerEntry; 
    } 

    @Override 
    public void setSelection(IClasspathEntry containerEntry) { 
     this.containerEntry = containerEntry; 
    } 

} 

答えて

0

の内容は、あなたのコンストラクタは、それがpublicでなければなりませんprotectedであると宣言されています。

public CustomClasspathContainerPage() { 
+0

ありがとうございました。それが本当に助けになりました。私は物事を見落とした。 – rohit

関連する問題