Re: [tcljava-user] NoClassDefFound
Brought to you by:
mdejong
From: Robinson, D. <Dav...@Co...> - 2007-07-12 16:17:13
|
Thanks for that but I'm still having problems : 1. If I try to put something else into java.library.path (ie lappend optList "-Djava.library.path\=/home/top_dev/tclblend" I then get : executing .//MQEx.tcl java command line options list is: -Djava.library.path=/home/top_dev/tclblend "XpUtils::iload -d /home/top_dev/tmp/opt/tclblend/lib/tcljava1.4.0 tclblend" failed: java.lang.UnsatisfiedLinkError: no tclblend in java.library.path While instantiating Interp object in Tclblend_Init The Tcl Blend shared lib was loaded by Tcl, but the JVM could not access JNI symbols. while executing "error "\"XpUtils::iload -d $dir tclblend\" failed:\n $errMsg"" (procedure "loadtclblend" line 168) invoked from within "loadtclblend /home/top_dev/tmp/opt/tclblend/lib/tcljava1.4.0" ("package ifneeded" script) invoked from within "package require java" (file ".//MQEx.tcl" line 32) What is the default java.library.path ? 2. The ; separator does not work : append z /apps/fidessa/top/commerzbank/lib/com.ibm.mq.jar\; append z /apps/fidessa/top/commerzbank/lib/com.ibm.mq_websphere.jar set env(TCL_CLASSPATH) $z executing .//MQEx.tcl java command line options list is: -Djava.library.path= TCL_CLASSPATH = TCL_CLASSPATH {/apps/fidessa/top/commerzbank/lib/com.ibm.mq.jar;/apps/fidessa/top/commerzb ank/lib/com.ibm.mq_websphere.jar} checkMQ cannot import class "com.ibm.mq.MQC", it does not exist while executing "java::import com.ibm.mq.MQC" (procedure "checkMQ" line 6) invoked from within "checkMQ $QManager $CCSID $channel $hostname $queueName $port $traceFile $msg" (file ".//MQEx.tcl" line 137) Thanks David _____ From: tcl...@li... [mailto:tcl...@li...] On Behalf Of Patrick Finnegan Sent: Thursday, July 12, 2007 3:42 PM To: A list for users of tcljava Subject: Re: [tcljava-user] NoClassDefFound On 12/07/07, Robinson, David <Dav...@co... <mailto:Dav...@co...> > wrote: Patrick, On Solaris 10 TCL_CLASSPATH doesn't seem to like more than one jar (or have I got the separator wrong ?) : append x /apps/fidessa/top/commerzbank/lib/com.ibm.mq.jar: append x /apps/fidessa/top/commerzbank/lib/com.ibm.mq_websphere.jar separator should be semi colon ";" append x $drive/IBM/WebSphereMQ/Java/lib/com.ibm.mq.jar\; append x $drive/IBM/WebSphereMQ/Tools/Java/base\; append x $drive/IBM/WebSphereMQ/Java/lib/com.ibm.mqjms.jar\; append x $drive/IBM/WebSphereMQ/Tools/Java/jms\; checkMQ java.lang.UnsatisfiedLinkError : no mqjbnd02 in java.library.path while executing "java::new MQQueueManager 1" (procedure "checkMQ" line 14) invoked from within "checkMQ $QManager $CCSID $channel $hostname $queueName $port $traceFile $msg" (file ".//MQEx.tcl" line 124) On Windows............... "The java.lang.UnsatisfiedLinkError is encountered when the environment variable java.library.path is not set. Sounds like you need to set "-Djava.library.path=<path to mqjbnd02.dll" You can set the java options inside the tcl blend script using tclblend_init before calling "package require java". manual page - http://tcljava.sourceforge.net/docs/TclJava/JavaPackage.html <http://tcljava.sourceforge.net/docs/TclJava/JavaPackage.html> e.g something like: lappend optList "-Djava.naming.provider.url\=$NAMING_PROVIDER " lappend optList "-Djava.naming.factory.initial\=$NAMING_FACTORY" lappend optList $CLIENTSOAP lappend optList "-Dwas.install.root\=$WAS_HOME" lappend optList "-Dws.ext.dirs\=$WAS_EXT_DIRS " # set tracefile properties. lappend optList "-DtraceSettingsFile\=TraceSettings.properties" puts "\n java command line options list is:\n" foreach x $optList { puts [ format "%-5s %-50s" " " $x ] } set tclblend_init $optList # call java package package require java Do you know which jar file on Solaris has this mqjbnd02 class ? I have my LD_LIBRARY_PATH and PATH set to where the com.ibm.mq.jar file is. Thanks for your help. David For Solaris have a look at these links. Search for mqjbnd02. http://www.mail-archive.com/mqs...@ak.../msg00242.html <http://www.mail-archive.com/mqs...@ak.../msg00242.html> http://www.sjg-enterpriseintegration.com/websphere%20mq%20listserver%200105. asp <http://www.sjg-enterpriseintegration.com/websphere%20mq%20listserver%200105 .asp> ********************************************************************** This is a commercial communication from Commerzbank AG. This communication is confidential and is intended only for the person to whom it is addressed. If you are not that person you are not permitted to make use of the information and you are requested to notify <mailto:LON...@co...> immediately that you have received it and then destroy the copy in your possession. Commerzbank AG may monitor outgoing and incoming e-mails. By replying to this e-mail you consent to such monitoring. This e-mail message and any attached files have been scanned for the presence of computer viruses. However, you are advised that you open attachments at your own risk. This email was sent either by Commerzbank AG, London Branch, or by Commerzbank Corporates & Markets, a division of Commerzbank. Commerzbank AG is a limited liability company incorporated in the Federal Republic of Germany. Registered Company Number in England BR001025. Our registered address in the UK is 60 Gracechurch Street, London, EC3V 0HR. We are regulated by the Financial Services Authority for the conduct of investment business in the UK and we appear on the FSA register under number 124920. ********************************************************************** |