NoClassDefFoundError: weblogic.WLST issue
While starting WLST Script you might encounter this issueException in thread "main" java.lang.NoClassDefFoundError: weblogic.WLST at gnu.java.lang.MainThread.run(libgcj.so.7rh) Caused by: java.lang .ClassNotFoundException: weblogic.WLST not found in gnu.gcj.runtime.SystemClassLoader{urls=[file:./], parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}} at java.net.URLClassLoader.findClass(libgcj.so.7rh) at java.lang.ClassLoader.loadClass(libgcj.so.7rh) at java.lang.ClassLoader.loadClass(libgcj.so.7rh) at gnu.java.lang.MainThread.run(libgcj.so.7rh)
What to do? What is the fix? searched in google but they all said run setWLSEnv.sh or cmd. Here my way is setup two environment variable availble to your shell.
- WL_HOME your weblogic installation path
- CLASSPATH with WL_HOME/server/lib/weblogic.jar
You can update these environment variables in your .bash_profile or .bashrc or .profile in the Home directory.
One more alternative method is use the wlst.sh script with absolute path.
Now you can directly use wlst mypthon.py my.properties
Still have problem in invoking WLST?
One more alternative method is use the wlst.sh script with absolute path.
alias wlst='${MW_HOME}/oracle_common/common/bin/wlst.sh'
Now you can directly use wlst mypthon.py my.properties
Still have problem in invoking WLST?
$ java weblogic.WLST Initializing WebLogic Scripting Tool (WLST) ... Problem invoking WLST - java.lang.NoClassDefFoundError: weblogic.management.scripting.WLScriptContextSolution for this issue is set the JAVA_HOME properly. that means don't use Linux provided Java instead you have to use Oracle JDK or Jrockit as follows:
export JAVA_HOME=/apps/softwares/weblogic/jdk160_05 or export JAVA_HOME=/apps/softwares/weblogic/jrockit_160_05 export PATH=$JAVA_HOME/bin:$PATH
Update these lines in your .bash_profile or .profile check in new Window/Terminal or execute your .bash_profile by placing dot.
$ . .bash_profile
Permission Denied issue
Today when I have tried to workout on WLST it was throwing error.It was shocked me! till yesterday it was working why it is not working now. This is common sentence for every issue :) Need to analyze the problem.pavanbsd@ubuntu:~$ wlst Initializing WebLogic Scripting Tool (WLST) ... Jython scans all the jar files it can find at first startup. Depending on the system , this process may take a few minutes to complete, and WLST may not return a prompt right away. *sys-package-mgr*: can't create package cache dir, '/tmpWLSTTemppavanbsd/packages' java.io.IOException: Permission denied at java.io.UnixFileSystem.createFileExclusively(Native Method) at java.io.File.createNewFile(File.java:1006) at java.io.File.createTempFile(File.java:1989) at java.io.File.createTempFile(File.java:2040) at com.oracle.cie.domain.script.jython.WLST_offline.getWLSTOfflineInitFilePath(WLST_offline.java:239) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at weblogic.management.scripting.utils.WLSTUtil.getOfflineWLSTScriptPathInternal(WLSTUtil.java:104) at weblogic.management.scripting.utils.WLSTUtil.setupOfflineInternal(WLSTUtil.java:300) at weblogic.management.scripting.utils.WLSTUtil.setupOffline(WLSTUtil.java:277) at weblogic.management.scripting.utils.WLSTUtilWrapper.setupOffline(WLSTUtilWrapper.java:29) at weblogic.management.scripting.utils.WLSTInterpreter.Problem here is OS Permission denied to create files in /tmp path. I've remmebered that when I want to try re-install the Weblogic software encountered not enough space in /tmp path. So I had removed all the files forcefully using root user. That makes in accessable to weblogic user to write into the /tmp path.(WLSTInterpreter.java:168) at weblogic.management.scripting.WLST.main(WLST.java:130) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at weblogic.WLST.main(WLST.java:29) Problem invoking WLST - java.lang.NullPointerException
Here is the solution
sudo chmod 1777 /tmp
Issues in WLST 2 :
This again While Starting with the WLST Shell, we were facing the below issue, offcourse this is common for the first time WLST users:
bash-3.00$ java weblogic.WLST Initializing WebLogic Scripting Tool (WLST) ... *sys-package-mgr*: can't write cache file for '/HomeServerInstancepath/bea/jdk150_10/jre/lib/rt.jar' *sys-package-mgr*: can't write cache file for '/HomeServerInstancepath/bea/weblogic92/server/lib/weblogic.jar' *sys-package-mgr*: can't write cache file for '/HomeServerInstancepath/bea/jdk150_10/jre/lib/rt.jar' *sys-package-mgr*: can't write cache file for '/HomeServerInstancepath/bea/jdk150_10/jre/lib/jsse.jar' *sys-package-mgr*: can't write cache file for '/HomeServerInstancepath/bea/jdk150_10/jre/lib/jce.jar' *sys-package-mgr*: can't write cache file for '/HomeServerInstancepath/bea/jdk150_10/jre/lib/charsets.jar' *sys-package-mgr*: can't write cache file for '/HomeServerInstancepath/bea/jdk150_10/jre/lib/ext/sunjce_provider.jar' *sys-package-mgr*: can't write cache file for '/HomeServerInstancepath/bea/jdk150_10/jre/lib/ext/sunpkcs11.jar' *sys-package-mgr*: can't write cache file for '/HomeServerInstancepath/bea/jdk150_10/jre/lib/ext/dnsns.jar' *sys-package-mgr*: can't write cache file for '/HomeServerInstancepath/bea/jdk150_10/jre/lib/ext/localedata.jar' *sys-package-mgr*: can't write index file Welcome to WebLogic Server Administration Scripting Shell Type help() for help on available commands wls:/offline>
-->
To Fix the above issue, we have two options:
1) This problem I had encountered in Solaris machine, We need to change the permissions of /var/tmp/wlstTemp directory content must be accessed by all users means to use "chmod 777"
or
2) we need to define the cache directory path using open for every user path as /tmp/wlstTemp
bash-3.00$ java -Dpython.cachedir=/tmp/wlstTemp weblogic.WLST Initializing WebLogic Scripting Tool (WLST) ... Welcome to WebLogic Server Administration Scripting Shell Type help() for help on available commands wls:/offline>I found very good referrence blog who always talks technically :) that 'Techtalks'
http://www.prasannatech.net/2009/02/jython-sys-package-mgr-processing-jar.html
Now your turn to comment on this issue how do you feel when you see this on your Solaris machine or Linux machine :)
Keep posting your suggestions too...