When following the instructions here, https://github.com/protegeproject/protege/wiki/Setup-in-Eclipse, I ran across a few problems.
I am using java 21 since it looks like changes have been made to support building in this version (#1236)
java version "21.0.10" 2026-01-20 LTS
Java(TM) SE Runtime Environment (build 21.0.10+8-LTS-217)
Java HotSpot(TM) 64-Bit Server VM (build 21.0.10+8-LTS-217, mixed mode, sharing)
In section "Setup the projects in eclipse", after step 4 there were still 12 compiler errors, all of them with the same issue, e.g., "AutoValue_IdoNamespace cannot be resolved to a type", the remaining were the same error but different AutoValue_ class.
After a little hunting I ended up adding the protege-editor-owl-5.6.10-SNAPSHOT.jar to the owl project build path and that seems to have resolved the compile issue.
In section "Run Protege from Eclipse":
-
In step 2b - needed to add quotes around "${workspace_loc}/protege/protege-desktop/target/protege-5.6.10-SNAPSHOT-platform-independent/protege-5.6.10-SNAPSHOT/conf/logback.xml" because my $workspace_loc has a space character.
-
In step 2c - the "target/protege-5.6.10-SNAPSHOT-platform-independent/protege-5.6.10-SNAPSHOT/bin" does not exist, but "target/protege-5.6.10-SNAPSHOT-platform-independent/protege-5.6.10-SNAPSHOT/bundles" does which contained the files to select.
After fixing all the above I was able to run protege and the protege window shows, BUT in the console window an exception is thrown:
Error whilst adding menu item: {}
java.lang.IllegalAccessException: class org.protege.editor.core.ui.workspace.Workspace cannot access class com.sun.java.swing.plaf.windows.WindowsLookAndFeel (in module java.desktop) because module java.desktop does not export com.sun.java.swing.plaf.windows to unnamed module @1c129621
at java.base/jdk.internal.reflect.Reflection.newIllegalAccessException(Reflection.java:394)
at java.base/java.lang.reflect.AccessibleObject.checkAccess(AccessibleObject.java:714)
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:495)
at java.base/java.lang.reflect.ReflectAccess.newInstance(ReflectAccess.java:128)
at java.base/jdk.internal.reflect.ReflectionFactory.newInstance(ReflectionFactory.java:304)
at java.base/java.lang.Class.newInstance(Class.java:725)
at org.protege.editor.core.ui.workspace.Workspace.addLookAndFeelMenuItem(Workspace.java:219)
at org.protege.editor.core.ui.workspace.Workspace.installLookAndFeelMenu(Workspace.java:195)
at org.protege.editor.core.ui.workspace.Workspace.initialiseExtraMenuItems(Workspace.java:128)
at org.protege.editor.owl.model.OWLWorkspace.initialiseExtraMenuItems(OWLWorkspace.java:444)
at org.protege.editor.core.ui.workspace.WorkspaceFrame.createUI(WorkspaceFrame.java:157)
at org.protege.editor.core.ui.workspace.WorkspaceFrame.<init>(WorkspaceFrame.java:58)
at org.protege.editor.core.ui.workspace.WorkspaceManager.addWorkspace(WorkspaceManager.java:47)
at org.protege.editor.core.editorkit.EditorKitManager.addEditorKit(EditorKitManager.java:44)
at org.protege.editor.core.ProtegeManager.createAndSetupNewEditorKit(ProtegeManager.java:139)
at org.protege.editor.core.ProtegeManager.createAndSetupNewEditorKit(ProtegeManager.java:129)
at org.protege.editor.core.ProtegeApplication.createAndSetupDefaultEditorKit(ProtegeApplication.java:487)
at org.protege.editor.core.ProtegeApplication.startApplication(ProtegeApplication.java:431)
at org.protege.editor.core.ProtegeApplication.reallyStart(ProtegeApplication.java:108)
at org.protege.editor.core.ProtegeApplication.lambda$start$0(ProtegeApplication.java:89)
at org.apache.felix.framework.EventDispatcher.invokeFrameworkListenerCallback(EventDispatcher.java:881)
at org.apache.felix.framework.EventDispatcher.fireEventImmediately(EventDispatcher.java:830)
at org.apache.felix.framework.EventDispatcher.run(EventDispatcher.java:1147)
at org.apache.felix.framework.EventDispatcher.access$000(EventDispatcher.java:54)
at org.apache.felix.framework.EventDispatcher$1.run(EventDispatcher.java:102)
at java.base/java.lang.Thread.run(Thread.java:1583)
I do not think this is a serious problem (assuming the s/w just uses a standard look and feel), but thought I would report it in case its a build issue.
When following the instructions here, https://github.com/protegeproject/protege/wiki/Setup-in-Eclipse, I ran across a few problems.
I am using java 21 since it looks like changes have been made to support building in this version (#1236)
java version "21.0.10" 2026-01-20 LTS
Java(TM) SE Runtime Environment (build 21.0.10+8-LTS-217)
Java HotSpot(TM) 64-Bit Server VM (build 21.0.10+8-LTS-217, mixed mode, sharing)
In section "Setup the projects in eclipse", after step 4 there were still 12 compiler errors, all of them with the same issue, e.g., "AutoValue_IdoNamespace cannot be resolved to a type", the remaining were the same error but different AutoValue_ class.
After a little hunting I ended up adding the protege-editor-owl-5.6.10-SNAPSHOT.jar to the owl project build path and that seems to have resolved the compile issue.
In section "Run Protege from Eclipse":
In step 2b - needed to add quotes around "${workspace_loc}/protege/protege-desktop/target/protege-5.6.10-SNAPSHOT-platform-independent/protege-5.6.10-SNAPSHOT/conf/logback.xml" because my $workspace_loc has a space character.
In step 2c - the "target/protege-5.6.10-SNAPSHOT-platform-independent/protege-5.6.10-SNAPSHOT/bin" does not exist, but "target/protege-5.6.10-SNAPSHOT-platform-independent/protege-5.6.10-SNAPSHOT/bundles" does which contained the files to select.
After fixing all the above I was able to run protege and the protege window shows, BUT in the console window an exception is thrown:
I do not think this is a serious problem (assuming the s/w just uses a standard look and feel), but thought I would report it in case its a build issue.