Protege Server startup failure

Post Reply
adgarcia
Posts: 13
Joined: 28 Sep 2017, 20:20

Greetings,

I'm having a Protege Server startup failure, from the log below it appears to indicate a couple of things. One is that it cannot find the SQL Server driver (which I am confused about as I just successfully had Protege create the essential repository in SQL Server), and the other thing I see is that it then seems to find it later in the log file and is complaining about the version although as shown in the attached image the driver version and SQL Server version are aligned and supported according to Microsoft. Can someone give me some idea as to what's going on so I can get the Protege Server started? Thanks in advance, David

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\Windows\system32>cd C:\Program Files\Protege_3.5
C:\Program Files\Protege_3.5>run_protege_server.bat
C:\Program Files\Protege_3.5>set JDKBIN=jre\bin
C:\Program Files\Protege_3.5>rem Note that a space character in the following pa
th must be replaced with '%20' in
C:\Program Files\Protege_3.5>rem a batch file. If you are typing directly on th
e command line, a space must be
C:\Program Files\Protege_3.5>rem replaced with '0'.
C:\Program Files\Protege_3.5>set CODEBASE_URL=file:/c:/program%20files/protege_3
.5/protege.jar
C:\Program Files\Protege_3.5>start /Djre\bin /min rmiregistry.exe
C:\Program Files\Protege_3.5>set CLASSPATH=protege.jar;looks.jar;unicode_panel.j
ar;driver.jar;driver0.jar;driver1.jar
C:\Program Files\Protege_3.5>set MAINCLASS=edu.stanford.smi.protege.server.Serve
r
C:\Program Files\Protege_3.5>set METAPROJECT=examples\server\metaproject.pprj
C:\Program Files\Protege_3.5>set MAX_MEMORY=-Xmx500M
C:\Program Files\Protege_3.5>set HEADLESS=-Djava.awt.headless=true
C:\Program Files\Protege_3.5>set CODEBASE=-Djava.rmi.server.codebase=file:/c:/pr
ogram%20files/protege_3.5/protege.jar
C:\Program Files\Protege_3.5>set LOG4J_OPT=-Dlog4j.configuration=file:log4j.xml
C:\Program Files\Protege_3.5>rem --- Optional arguments; uncomment if necessary
---
C:\Program Files\Protege_3.5>rem set HOSTNAME=-Djava.rmi.server.hostname=localho
st
C:\Program Files\Protege_3.5>rem set "PORTOPTS=-Dprotege.rmi.server.port=5200 -D
protege.rmi.registry.port=5100"
C:\Program Files\Protege_3.5>rem TX=-Dtransaction.level=READ_COMMITTED
C:\Program Files\Protege_3.5>rem "DEBUG_OPT=-Xdebug -Xrunjdwp:transport=dt_socke
t,address=8000,server=y,suspend=n"
C:\Program Files\Protege_3.5>set OPTIONS=-Xmx500M -Djava.rmi.server.codebase=fi
le:/c:/program%20files/protege_3.5/protege.jar -Djava.awt.headless=true -Dlog4j.
configuration=file:log4j.xml
C:\Program Files\Protege_3.5>rem ------------------- Cmd Options ---------------
----
C:\Program Files\Protege_3.5>rem If you want automatic saving of the project,
C:\Program Files\Protege_3.5>rem setup the number of seconds in SAVE_INTERVAL_VA
LUE
C:\Program Files\Protege_3.5>rem set SAVE_INTERVAL=-saveIntervalSec=120
C:\Program Files\Protege_3.5>rem ------------------- Cmd Options ---------------
----
C:\Program Files\Protege_3.5>jre\bin\java -Xmx500M -Djava.rmi.server.codebase=f
ile:/c:/program%20files/protege_3.5/protege.jar -Djava.awt.headless=true -Dlog4j
.configuration=file:log4j.xml -cp protege.jar;looks.jar;unicode_panel.jar;dr
iver.jar;driver0.jar;driver1.jar edu.stanford.smi.protege.server.Server example
s\server\metaproject.pprj
Protege server is starting...
Protege 3.5 Build 663, JVM 1.6.0_01-b06, memory=466M, Windows Vista, encoding=UT
F-8, language=en, country=US
Server port = 0, registry port = 1099, compressed stream
Using metaproject from: file:/C:/Program%20Files/Protege_3.5/examples/server/met
aproject.pprj
WARNING: com/microsoft/sqlserver/jdbc/SQLServerDriver : Unsupported major.minor
version 51.0 -- java.lang.UnsupportedClassVersionError: com/microsoft/sqlserver/
jdbc/SQLServerDriver : Unsupported major.minor version 51.0

at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at edu.stanford.smi.protege.plugin.PluginUtilities.forName(Unknown Sourc
e)
at edu.stanford.smi.protege.plugin.PluginUtilities.forName(Unknown Sourc
e)
at edu.stanford.smi.protege.util.SystemUtilities.forName(Unknown Source)
at edu.stanford.smi.protege.storage.database.pool.ConnectionPool.<init>(
Unknown Source)
at edu.stanford.smi.protege.storage.database.pool.ConnectionPool.getConn
ectionPool(Unknown Source)
at edu.stanford.smi.protege.storage.database.RobustConnection.<init>(Unk
nown Source)
at edu.stanford.smi.protege.storage.database.AbstractDatabaseFrameDb.cre
ateConnection(Unknown Source)
at edu.stanford.smi.protege.storage.database.AbstractDatabaseFrameDb.ini
tialize(Unknown Source)
at edu.stanford.smi.protege.storage.database.DatabaseKnowledgeBaseFactor
y.initializeKB(Unknown Source)
at edu.stanford.smi.protege.storage.database.DatabaseKnowledgeBaseFactor
y.loadKnowledgeBase(Unknown Source)
at edu.stanford.smi.protege.storage.database.DatabaseKnowledgeBaseFactor
y.loadKnowledgeBase(Unknown Source)
at edu.stanford.smi.protege.model.Project.loadDomainKB(Unknown Source)
at edu.stanford.smi.protege.model.Project.createDomainKnowledgeBase(Unkn
own Source)
at edu.stanford.smi.protege.model.Project.<init>(Unknown Source)
at edu.stanford.smi.protege.model.Project.loadProjectFromURI(Unknown Sou
rce)
at edu.stanford.smi.protege.server.metaproject.impl.MetaProjectImpl.<ini
t>(Unknown Source)
at edu.stanford.smi.protege.server.Server.initialize(Unknown Source)
at edu.stanford.smi.protege.server.Server.<init>(Unknown Source)
at edu.stanford.smi.protege.server.Server.startServer(Unknown Source)
at edu.stanford.smi.protege.server.Server.main(Unknown Source)
WARNING: Unable to load knowledgebase jdbc:sqlserver://localhost:53331;databasen
ame=essentialdb -- java.lang.RuntimeException: class not found: com.microsoft.sq
lserver.jdbc.SQLServerDriver

at edu.stanford.smi.protege.storage.database.pool.ConnectionPool.<init>(
Unknown Source)
at edu.stanford.smi.protege.storage.database.pool.ConnectionPool.getConn
ectionPool(Unknown Source)
at edu.stanford.smi.protege.storage.database.RobustConnection.<init>(Unk
nown Source)
at edu.stanford.smi.protege.storage.database.AbstractDatabaseFrameDb.cre
ateConnection(Unknown Source)
at edu.stanford.smi.protege.storage.database.AbstractDatabaseFrameDb.ini
tialize(Unknown Source)
at edu.stanford.smi.protege.storage.database.DatabaseKnowledgeBaseFactor
y.initializeKB(Unknown Source)
at edu.stanford.smi.protege.storage.database.DatabaseKnowledgeBaseFactor
y.loadKnowledgeBase(Unknown Source)
at edu.stanford.smi.protege.storage.database.DatabaseKnowledgeBaseFactor
y.loadKnowledgeBase(Unknown Source)
at edu.stanford.smi.protege.model.Project.loadDomainKB(Unknown Source)
at edu.stanford.smi.protege.model.Project.createDomainKnowledgeBase(Unkn
own Source)
at edu.stanford.smi.protege.model.Project.<init>(Unknown Source)
at edu.stanford.smi.protege.model.Project.loadProjectFromURI(Unknown Sou
rce)
at edu.stanford.smi.protege.server.metaproject.impl.MetaProjectImpl.<ini
t>(Unknown Source)
at edu.stanford.smi.protege.server.Server.initialize(Unknown Source)
at edu.stanford.smi.protege.server.Server.<init>(Unknown Source)
at edu.stanford.smi.protege.server.Server.startServer(Unknown Source)
at edu.stanford.smi.protege.server.Server.main(Unknown Source)
WARNING: com/microsoft/sqlserver/jdbc/SQLServerDriver : Unsupported major.minor
version 51.0 -- java.lang.UnsupportedClassVersionError: com/microsoft/sqlserver/
jdbc/SQLServerDriver : Unsupported major.minor version 51.0

at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at edu.stanford.smi.protege.plugin.PluginUtilities.forName(Unknown Sourc
e)
at edu.stanford.smi.protege.plugin.PluginUtilities.forName(Unknown Sourc
e)
at edu.stanford.smi.protege.util.SystemUtilities.forName(Unknown Source)
at edu.stanford.smi.protege.storage.database.pool.ConnectionPool.<init>(
Unknown Source)
at edu.stanford.smi.protege.storage.database.pool.ConnectionPool.getConn
ectionPool(Unknown Source)
at edu.stanford.smi.protege.storage.database.RobustConnection.<init>(Unk
nown Source)
at edu.stanford.smi.protege.storage.database.AbstractDatabaseFrameDb.cre
ateConnection(Unknown Source)
at edu.stanford.smi.protege.storage.database.AbstractDatabaseFrameDb.get
CurrentConnection(Unknown Source)
at edu.stanford.smi.protege.storage.database.IdleConnectionNarrowFrameSt
ore.setIdle(Unknown Source)
at edu.stanford.smi.protege.storage.database.IdleConnectionNarrowFrameSt
ore.getTransactionStatusMonitor(Unknown Source)
at edu.stanford.smi.protege.model.framestore.MergingNarrowFrameStore.get
TransactionStatusMonitor(Unknown Source)
at edu.stanford.smi.protege.model.framestore.ClosureCachingBasicFrameSto
re.getTransactionStatusMonitor(Unknown Source)
at edu.stanford.smi.protege.model.framestore.ImmutableNamesNarrowFrameSt
ore.getTransactionStatusMonitor(Unknown Source)
at edu.stanford.smi.protege.model.framestore.SimpleFrameStore.getTransac
tionStatusMonitor(Unknown Source)
at edu.stanford.smi.protege.model.framestore.EventGeneratorFrameStore.se
tDelegate(Unknown Source)
at edu.stanford.smi.protege.model.framestore.FrameStoreManager.connect(U
nknown Source)
at edu.stanford.smi.protege.model.framestore.FrameStoreManager.enable(Un
known Source)
at edu.stanford.smi.protege.model.framestore.FrameStoreManager.setEnable
d(Unknown Source)
at edu.stanford.smi.protege.model.framestore.FrameStoreManager.setGenera
teEventsEnabled(Unknown Source)
at edu.stanford.smi.protege.model.DefaultKnowledgeBase.setGenerateEvents
Enabled(Unknown Source)
at edu.stanford.smi.protege.model.Project.loadDomainKB(Unknown Source)
at edu.stanford.smi.protege.model.Project.createDomainKnowledgeBase(Unkn
own Source)
at edu.stanford.smi.protege.model.Project.<init>(Unknown Source)
at edu.stanford.smi.protege.model.Project.loadProjectFromURI(Unknown Sou
rce)
at edu.stanford.smi.protege.server.metaproject.impl.MetaProjectImpl.<ini
t>(Unknown Source)
at edu.stanford.smi.protege.server.Server.initialize(Unknown Source)
at edu.stanford.smi.protege.server.Server.<init>(Unknown Source)
at edu.stanford.smi.protege.server.Server.startServer(Unknown Source)
at edu.stanford.smi.protege.server.Server.main(Unknown Source)
SEVERE: server startup failed -- java.lang.RuntimeException: class not found: co
m.microsoft.sqlserver.jdbc.SQLServerDriver

at edu.stanford.smi.protege.storage.database.pool.ConnectionPool.<init>(
Unknown Source)
at edu.stanford.smi.protege.storage.database.pool.ConnectionPool.getConn
ectionPool(Unknown Source)
at edu.stanford.smi.protege.storage.database.RobustConnection.<init>(Unk
nown Source)
at edu.stanford.smi.protege.storage.database.AbstractDatabaseFrameDb.cre
ateConnection(Unknown Source)
at edu.stanford.smi.protege.storage.database.AbstractDatabaseFrameDb.get
CurrentConnection(Unknown Source)
at edu.stanford.smi.protege.storage.database.IdleConnectionNarrowFrameSt
ore.setIdle(Unknown Source)
at edu.stanford.smi.protege.storage.database.IdleConnectionNarrowFrameSt
ore.getTransactionStatusMonitor(Unknown Source)
at edu.stanford.smi.protege.model.framestore.MergingNarrowFrameStore.get
TransactionStatusMonitor(Unknown Source)
at edu.stanford.smi.protege.model.framestore.ClosureCachingBasicFrameSto
re.getTransactionStatusMonitor(Unknown Source)
at edu.stanford.smi.protege.model.framestore.ImmutableNamesNarrowFrameSt
ore.getTransactionStatusMonitor(Unknown Source)
at edu.stanford.smi.protege.model.framestore.SimpleFrameStore.getTransac
tionStatusMonitor(Unknown Source)
at edu.stanford.smi.protege.model.framestore.EventGeneratorFrameStore.se
tDelegate(Unknown Source)
at edu.stanford.smi.protege.model.framestore.FrameStoreManager.connect(U
nknown Source)
at edu.stanford.smi.protege.model.framestore.FrameStoreManager.enable(Un
known Source)
at edu.stanford.smi.protege.model.framestore.FrameStoreManager.setEnable
d(Unknown Source)
at edu.stanford.smi.protege.model.framestore.FrameStoreManager.setGenera
teEventsEnabled(Unknown Source)
at edu.stanford.smi.protege.model.DefaultKnowledgeBase.setGenerateEvents
Enabled(Unknown Source)
at edu.stanford.smi.protege.model.Project.loadDomainKB(Unknown Source)
at edu.stanford.smi.protege.model.Project.createDomainKnowledgeBase(Unkn
own Source)
at edu.stanford.smi.protege.model.Project.<init>(Unknown Source)
at edu.stanford.smi.protege.model.Project.loadProjectFromURI(Unknown Sou
rce)
at edu.stanford.smi.protege.server.metaproject.impl.MetaProjectImpl.<ini
t>(Unknown Source)
at edu.stanford.smi.protege.server.Server.initialize(Unknown Source)
at edu.stanford.smi.protege.server.Server.<init>(Unknown Source)
at edu.stanford.smi.protege.server.Server.startServer(Unknown Source)
at edu.stanford.smi.protege.server.Server.main(Unknown Source)
Terminate batch job (Y/N)? Y
C:\Program Files\Protege_3.5>
C:\Program Files\Protege_3.5>

Installed JDBC SQL Server Driver:
----------------
RELEASE CONTENTS
----------------
The Microsoft JDBC Driver 6.0 for SQL Server executable zip or tar file unpacks the following files
in the specified locations, relative to the selected installation directory:

<installation directory>\sqljdbc_<version>\<language>\install.txt
<installation directory>\sqljdbc_<version>\<language>\release.txt
<installation directory>\sqljdbc_<version>\<language>\license.txt
<installation directory>\sqljdbc_<version>\<language>\jre7\sqljdbc41.jar
<installation directory>\sqljdbc_<version>\<language>\jre8\sqljdbc42.jar
You do not have the required permissions to view the files attached to this post.
adgarcia
Posts: 13
Joined: 28 Sep 2017, 20:20

I should mention this is all running on Windows 7 Pro SP1 and the SQL Server instance is 2012 Express. Protege and SQL Server are both running on the same localhost.
User avatar
jonathan.carter
Posts: 1087
Joined: 04 Feb 2009, 15:44

Hi David,

Sorry for the delay in getting back to you.

This is most likely down to which of the SQLServer JDBC drivers that you are using.
There are two included in the package that you download from Microsoft.

I think it's worth trying the v4 driver first.
e.g. I have previously copied file 'sqljdbc4.jar' (from sqljdbc_4.0.2206.100_enu) to the file 'driver.jar' in the root of the Protege install. Copying the file to 'driver.jar' means that the Protege server startup scripts will pick it up automatically.

If I remember correctly, there are at least 2 versions of the JDBC driver that Microsoft include and only one of them will work. Make sure not to include both!

Let me know how you get on

Jonathan
Essential Project Team
Post Reply