Подтвердить что ты не робот

Проблемы возникали при вызове кода из подключаемого модуля: "org.eclipse.jface" при использовании Checkstyle Plugin

Я пытаюсь использовать плагин eclipse-cs в Rational Software Architect 7.0.0.4.

Недавно я удалил старую версию бета2 и установил beta3. Сам подключаемый модуль работает так же, как и ранее. Но всякий раз, когда я пытаюсь переконфигурировать правила проверки через Windows- > Preferences- > Checkstyle, я получаю следующую ошибку:

Проблемы возникают при вызове кода из подключаемого модуля: "org.eclipse.jface".

Это происходит, когда я нажимаю кнопку "Настройка" и пытаюсь перенастроить определенное выбранное правило проверки в пользовательском интерфейсе.

Кто-нибудь когда-либо сталкивался с этой проблемой раньше и как ее можно исправить?

Полный список ошибок и трассировка стека показаны ниже:

Stack trace:
java.lang.NoSuchMethodError: org/eclipse/swt/widgets/Text.setMessage(Ljava/lang/String;)V
at net.sf.eclipsecs.ui.config.RuleConfigurationEditDialog.createAdvancedSection(Unknown Source)
at net.sf.eclipsecs.ui.config.RuleConfigurationEditDialog.createDialogArea(Unknown Source)
at org.eclipse.jface.dialogs.TitleAreaDialog.createContents(Unknown Source)
at org.eclipse.jface.window.Window.create(Unknown Source)
at org.eclipse.jface.dialogs.Dialog.create(Unknown Source)
at net.sf.eclipsecs.ui.config.RuleConfigurationEditDialog.create(Unknown Source)
at org.eclipse.jface.window.Window.open(Unknown Source)
at net.sf.eclipsecs.ui.config.CheckConfigurationConfigureDialog$PageController.openModule(Unknown Source)
at net.sf.eclipsecs.ui.config.CheckConfigurationConfigureDialog$PageController.doubleClick(Unknown Source)
at org.eclipse.jface.viewers.StructuredViewer$1.run(Unknown Source)
at org.eclipse.core.runtime.SafeRunner.run(Unknown Source)
at org.eclipse.core.runtime.Platform.run(Unknown Source)
at org.eclipse.ui.internal.JFaceUtil$1.run(Unknown Source)
at org.eclipse.jface.util.SafeRunnable.run(Unknown Source)
at org.eclipse.jface.viewers.StructuredViewer.fireDoubleClick(Unknown Source)
at org.eclipse.jface.viewers.StructuredViewer.handleDoubleSelect(Unknown Source)
at org.eclipse.jface.viewers.StructuredViewer$4.widgetDefaultSelected(Unknown Source)
at org.eclipse.jface.util.OpenStrategy.fireDefaultSelectionEvent(Unknown Source)
at org.eclipse.jface.util.OpenStrategy.access$0(Unknown Source)
at org.eclipse.jface.util.OpenStrategy$1.handleEvent(Unknown Source)
at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
at org.eclipse.jface.window.Window.runEventLoop(Unknown Source)
at org.eclipse.jface.window.Window.open(Unknown Source)
at net.sf.eclipsecs.ui.config.CheckConfigurationWorkingSetEditor.configureCheckConfig(Unknown Source)
at net.sf.eclipsecs.ui.config.CheckConfigurationWorkingSetEditor.access$6(Unknown Source)
at net.sf.eclipsecs.ui.config.CheckConfigurationWorkingSetEditor$PageController.doubleClick(Unknown Source)
at org.eclipse.jface.viewers.StructuredViewer$1.run(Unknown Source)
at org.eclipse.core.runtime.SafeRunner.run(Unknown Source)
at org.eclipse.core.runtime.Platform.run(Unknown Source)
at org.eclipse.ui.internal.JFaceUtil$1.run(Unknown Source)
at org.eclipse.jface.util.SafeRunnable.run(Unknown Source)
at org.eclipse.jface.viewers.StructuredViewer.fireDoubleClick(Unknown Source)
at org.eclipse.jface.viewers.StructuredViewer.handleDoubleSelect(Unknown Source)
at org.eclipse.jface.viewers.StructuredViewer$4.widgetDefaultSelected(Unknown Source)
at org.eclipse.jface.util.OpenStrategy.fireDefaultSelectionEvent(Unknown Source)
at org.eclipse.jface.util.OpenStrategy.access$0(Unknown Source)
at org.eclipse.jface.util.OpenStrategy$1.handleEvent(Unknown Source)
at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
at org.eclipse.jface.window.Window.runEventLoop(Unknown Source)
at org.eclipse.jface.window.Window.open(Unknown Source)
at org.eclipse.ui.internal.OpenPreferencesAction.run(Unknown Source)
at org.eclipse.jface.action.Action.runWithEvent(Unknown Source)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(Unknown Source)
at org.eclipse.jface.action.ActionContributionItem.access$2(Unknown Source)
at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(Unknown Source)
at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
at org.eclipse.ui.internal.Workbench.runEventLoop(Unknown Source)
at org.eclipse.ui.internal.Workbench.runUI(Unknown Source)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Unknown Source)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(Unknown Source)
at org.eclipse.ui.internal.ide.IDEApplication.run(Unknown Source)
at org.eclipse.core.internal.runtime.PlatformActivator$1.run(Unknown Source)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(Unknown Source)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(Unknown Source)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(Unknown Source)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.core.launcher.Main.invokeFramework(Unknown Source)
at org.eclipse.core.launcher.Main.basicRun(Unknown Source)
at org.eclipse.core.launcher.Main.run(Unknown Source)
at org.eclipse.core.launcher.Main.main(Unknown Source)

И данные сеанса:

Session Data:
eclipse.buildId=unknown
java.fullversion=J2RE 1.5.0 IBM J9 2.3 Windows XP x86-32 j9vmwi3223ifx-20070323 (JIT enabled)
J9VM - 20070322_12058_lHdSMR
JIT  - 20070109_1805ifx3_r8
GC   - WASIFIX_2007
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_GB
Framework arguments:  -product com.ibm.rational.rsa.product.ide
Command-line arguments:  -os win32 -ws win32 -arch x86 -product com.ibm.rational.rsa.product.ide
4b9b3361

Ответ 1

Попробуйте запустить Eclipse с консоли/терминала с помощью опции -clean.

В Windows:

Eclipse.exe -clean

Вкл. * nix:

./eclipse -clean

или если Eclipse находится в вашем PATH

eclipse -clean

Это очистит ваш кеш подключаемых модулей, возможно, он решает проблему.

Ответ 2

Мое простое предположение заключается в том, что в версии Eclipse, на которой основан RSA 7.0, отсутствуют некоторые методы, которые вам нужна ваша версия стиля проверки. RSA 7.5 использует Eclipse 3.4, и я был очень доволен им.

Ответ 3

Перед ошибкой: java.lang.IllegalArgumentException: Аргумент не может быть пустым, возникают проблемы при вызове кода из подключаемого модуля: "org.eclipse.jface".

public class Preference_Page_Dialog extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
    @Override
    public void init(IWorkbench workbench) {
       addField(new StringFieldEditor("Number", "A Number is ",getFieldEditorParent()));        
    }

    @Override
    protected void createFieldEditors() {
        setPreferenceStore(Activator.getDefault().getPreferenceStore());
    }
}

Моя проблема решается так (после)

createFieldEditors() включают addField(new StringFieldEditor(..)),addField(new RadioGroupFieldEditor()),addField(new BooleanFieldEditor()) и addField(new DirectoryFieldEditor(..)) и т.д.

public class Preference_Page_Dialog extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
    @Override
    public void init(IWorkbench workbench) {
        setPreferenceStore(Activator.getDefault().getPreferenceStore());
    }

    @Override
    protected void createFieldEditors() {
        addField(new StringFieldEditor("Number", "A Number is ",getFieldEditorParent()));
    }
}