Good afternoon,
I am migrating a web application from tomcat 5 to tomcat 7.0.6.
First of all, I installed tomcat and validate it works fine : that's
validated.
Now I need to add some java system properties in the tomcat startup in
order to use some specific tools to my application.
So I added in the startup.bat the two options that were present in my
previous version of tomcat : -Dvalidationlist.dir="%mekWorkPath%"
-Duser.dir="%mekWorkPath%"
The problem is that now, I have an exception when starting :
java.lang.UnsatisfiedLinkError: C:\dim_file\mek_work\tcnative-1.dll:
Can't find dependent libraries
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1803)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1728)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1028)
at org.apache.tomcat.jni.Library.<init>(Library.java:42)
at org.apache.tomcat.jni.Library.initialize(Library.java:174)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.catalina.core.AprLifecycleListener.init(AprLifecycleListener.java:164)
at
org.apache.catalina.core.AprLifecycleListener.isAprAvailable(AprLifecycleListener.java:81)
at
org.apache.catalina.connector.Connector.setProtocol(Connector.java:541)
at
org.apache.catalina.connector.Connector.<init>(Connector.java:71)
at
org.apache.catalina.startup.ConnectorCreateRule.begin(ConnectorCreateRule.java:63)
at
org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1282)
at
org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
at
org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown
Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown
Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown
Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown
Source)
at
org.apache.tomcat.util.digester.Digester.parse(Digester.java:1543)
at org.apache.catalina.startup.Catalina.load(Catalina.java:534)
at org.apache.catalina.startup.Catalina.load(Catalina.java:575)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:262)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:430)
java.lang.UnsatisfiedLinkError: C:\dim_file\mek_work\tcnative-1.dll:
Can't find dependent libraries
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1803)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1728)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1028)
at org.apache.tomcat.jni.Library.<init>(Library.java:42)
at org.apache.tomcat.jni.Library.initialize(Library.java:174)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.catalina.core.AprLifecycleListener.init(AprLifecycleListener.java:164)
at
org.apache.catalina.core.AprLifecycleListener.isAprAvailable(AprLifecycleListener.java:81)
at
org.apache.catalina.connector.Connector.setProtocol(Connector.java:541)
at
org.apache.catalina.connector.Connector.<init>(Connector.java:71)
at
org.apache.catalina.startup.ConnectorCreateRule.begin(ConnectorCreateRule.java:63)
at
org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1282)
at
org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
at
org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown
Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown
Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown
Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown
Source)
at
org.apache.tomcat.util.digester.Digester.parse(Digester.java:1543)
at org.apache.catalina.startup.Catalina.load(Catalina.java:534)
at org.apache.catalina.startup.Catalina.load(Catalina.java:575)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:262)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:430)
java.lang.UnsatisfiedLinkError: C:\dim_file\mek_work\tcnative-1.dll:
Can't find dependent libraries
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1803)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1728)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1028)
at org.apache.tomcat.jni.Library.<init>(Library.java:42)
at org.apache.tomcat.jni.Library.initialize(Library.java:174)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.catalina.core.AprLifecycleListener.init(AprLifecycleListener.java:164)
at
org.apache.catalina.core.AprLifecycleListener.isAprAvailable(AprLifecycleListener.java:81)
at
org.apache.catalina.connector.Connector.setProtocol(Connector.java:541)
at
org.apache.catalina.connector.Connector.<init>(Connector.java:71)
at
org.apache.catalina.startup.ConnectorCreateRule.begin(ConnectorCreateRule.java:63)
at
org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1282)
at
org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
at
org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown
Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown
Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown
Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown
Source)
at
org.apache.tomcat.util.digester.Digester.parse(Digester.java:1543)
at org.apache.catalina.startup.Catalina.load(Catalina.java:534)
at org.apache.catalina.startup.Catalina.load(Catalina.java:575)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:262)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:430)
21 janv. 2011 13:51:13 org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal
performance in production environments was not found on the
java.library.path: C:\Program
Files\Java\jdk1.6.0_18\bin;.;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program
Files\Fichiers communs\Teleca Shared;C:\Program
Files\QuickTime\QTSystem\;C:\strawberry\c\bin;C:\strawberry\perl\site\bin;C:\strawberry\perl\bin;C:\local\AS\apache-tomcat-7.0.5\bin;C:\local\AS\apache-tomcat-7.0.6\bin;C:\Program
Files\AMTrix\Datamapper\dll
21 janv. 2011 13:51:13 org.apache.coyote.AbstractProtocolHandler init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
21 janv. 2011 13:51:13 org.apache.coyote.AbstractProtocolHandler init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
21 janv. 2011 13:51:13 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1324 ms
21 janv. 2011 13:51:14 org.apache.catalina.core.StandardService
startInternal
INFO: DÚmarrage du service Catalina
21 janv. 2011 13:51:14 org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.6
21 janv. 2011 13:51:14 org.apache.catalina.startup.HostConfig
deployDirectory
INFO: DÚploiement du rÚpertoire docs de l'application web
Here is the start command line that is used finally :
start "Tomcat" "C:\Program Files\Java\jdk1.6.0_18\bin\java"
-Dvalidationlist.dir="C:\dim_file\mek_work"
-Duser.dir="C:\dim_file\mek_work" -Xss1024k -Xmx1024m -Xms1024m
-DCATALINA_HOME="C:\local\AS\apache-tomcat-7.0.6"
-Djava.util.logging.config.file="C:\local\AS\apache-tomcat-7.0.6\conf\logging.properties"
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n
-Djava.endorsed.dirs="C:\local\AS\apache-tomcat-7.0.6\endorsed"
-classpath
"C:\local\AS\apache-tomcat-7.0.6\mek_resources;;C:\local\AS\apache-tomcat-7.0.6\bin\bootstrap.jar;C:\local\AS\apache-tomcat-7.0.6\bin\tomcat-juli.jar"
-Dcatalina.base="C:\local\AS\apache-tomcat-7.0.6"-Dcatalina.home="C:\local\AS\apache-tomcat-7.0.6"
-Djava.io.tmpdir="C:\local\AS\apache-tomcat-7.0.6\temp"
org.apache.catalina.startup.Bootstrap start
It does not cancel the server startup but previous to go further in the
migration, I would like to know if there is a way to avoid this exception.
I checked documentation about the module this library but found nothing
about how to specify the path to it.
Is it possible to set the path to this dll ?
Below my configuration :
Version de serveur Version de la JVM Fournisseur de la JVM Nom
d''OS Version d''OS Architecture d''OS
Apache Tomcat/7.0.6 1.6.0_18-b07 Sun Microsystems Inc. Windows XP
5.1 x86
Thanks in advance for you answer,
Best regards,
--
Thomas RITTER
Equipe developpement Java/web
Java/web development team
tel/phone : +33 4 76 41 75 01
email : trit...@edt.fr