I have just completed installing the OS Essential Project on Windows Server 2016. It was working properly on another instance. This time I installed using all of the latest Essential Project downloads. I was successful up to and including the export of the ontology to a MySQL database from single user Protege 3.5. However, when I tried to start Protege 3.5 in the server mode I received the following error:
2020.05.09 07:26:30.861 PDT SEVERE: java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
java.lang.ClassNotFoundException: edu.stanford.smi.protege.server.Server_Stub
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:389)
at sun.rmi.transport.Transport$1.run(Transport.java:200)
at sun.rmi.transport.Transport$1.run(Transport.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
I have diligently searched Google for a fix. It seems to relate to rmi. However, none of the suggestions that I have found seem to resolve the issue. I have attached pdfs of both the complete log and the server bat file. Any assistance would be much appreciated.
Thanks, Bill
Can't start multiuser Protege after reinstall/upgrade
Hi,
Thanks for including the PDF of your run_protege_server.bat file - that shows what the issue is.
This post describes the issue and the resolution.
In summary, from Java 7, a change to how Java RMI makes connections means that we need to provide a copy of the JAR file via HTTP instead of by File - at least that's the work-around for Protege.
So, copy "protege.jar" from <YOUR APPLICATIONS>\Protege 3.5\protege.jar to the root of your Essential Viewer deployed WAR (the unpacked folder, not the single WAR file). Then you can update your run_protege_server.bat to change the value of the CODEBASE_URL variable to be (e.g.):
Make sure that Tomcat is running before you attempt to start Protege Server
Jonathan
Thanks for including the PDF of your run_protege_server.bat file - that shows what the issue is.
This post describes the issue and the resolution.
In summary, from Java 7, a change to how Java RMI makes connections means that we need to provide a copy of the JAR file via HTTP instead of by File - at least that's the work-around for Protege.
So, copy "protege.jar" from <YOUR APPLICATIONS>\Protege 3.5\protege.jar to the root of your Essential Viewer deployed WAR (the unpacked folder, not the single WAR file). Then you can update your run_protege_server.bat to change the value of the CODEBASE_URL variable to be (e.g.):
Code: Select all
set CODEBASE_URL=httpL//localhost:8080/essential_viewer/protege.jar
Jonathan
Thanks Jonathan,
That seemed to work for a while. The server window now indicates:
Protege server ready to accept connections...
However, after a few weeks, the server is starting fine but in the rmiregistry.exe window I now get:
Could not set up class specific logging
Exception configuring logger
Could not set logger level
Warning: IO exception getting logger. access denied ("java.util.PropertyPermission" "protege.properties.in.user.home" "read")
and I am unable to connect remotely.
I have spent hours trying to fix this to no avail. Any ideas?
Thanks!
Bill
That seemed to work for a while. The server window now indicates:
Protege server ready to accept connections...
However, after a few weeks, the server is starting fine but in the rmiregistry.exe window I now get:
Could not set up class specific logging
Exception configuring logger
Could not set logger level
Warning: IO exception getting logger. access denied ("java.util.PropertyPermission" "protege.properties.in.user.home" "read")
and I am unable to connect remotely.
I have spent hours trying to fix this to no avail. Any ideas?
Thanks!
Bill