操作系统:AIX
JDK:1.6
Kettle版本:data-integration 4.2
JDK环境已经配好,执行spoon.sh启动的时候,报如下的错误:
java.lang.UnsatisfiedLinkError: no swt-motif-3346 or swt-motif in swt.library.path, java.library.path or the jar file
同样的Kettle文件,放到ubuntu上面执行,就没问题,ubuntu也是JDK1.6。
基本已经确认libswt/aix/这个目录下的swt.jar有问题了,但是google很长世间仍没找到解决办法;各位有遇到过同样的问题吗?倒是google到一个在solaris上面遇到同样的问题,不过那个哥们也没解决。
spoon.sh的内容如下:
#!/bin/sh
# **************************************************
# ** Set these to the location of your mozilla
# ** installation directory. Use a Mozilla with
# ** Gtk2 and Fte enabled.
# **************************************************
# set MOZILLA_FIVE_HOME=/usr/local/mozilla
# set LD_LIBRARY_PATH=/usr/local/mozilla
# Try to guess xulrunner location - change this if you need to
MOZILLA_FIVE_HOME=$(find /usr/lib -maxdepth 1 -name xulrunner-[0-9]* | head -1)
LD_LIBRARY_PATH=${MOZILLA_FIVE_HOME}:${LD_LIBRARY_PATH}
export MOZILLA_FIVE_HOME LD_LIBRARY_PATH
# Fix for GTK Windows issues with SWT
export GDK_NATIVE_WINDOWS=1
# **************************************************
# ** Init BASEDIR **
# **************************************************
BASEDIR=`dirname $0`
cd $BASEDIR
DIR=`pwd`
cd -
. "$DIR/set-pentaho-env.sh"
setPentahoEnv
# **************************************************
# ** Platform specific libraries ... **
# **************************************************
LIBPATH="NONE"
STARTUP="-jar launcher/launcher.jar"
case `uname -s` in
AIX)
LIBPATH=$BASEDIR/../libswt/aix/
;;
SunOS)
LIBPATH=$BASEDIR/../libswt/solaris/
;;
Darwin)
echo "Starting Data Integration using 'Spoon.sh' from OS X is not supported."
echo "Please start using 'Data Integration 32-bit' or"
echo "'Data Integration 64-bit' as appropriate."
exit
;;
Linux)
ARCH=`uname -m`
case $ARCH in
x86_64)
if $($_PENTAHO_JAVA -version 2>&1 | grep "64-Bit" > /dev/null )
then
LIBPATH=$BASEDIR/../libswt/linux/x86_64/
else
LIBPATH=$BASEDIR/../libswt/linux/x86/
fi
;;
i[3-6]86)
LIBPATH=$BASEDIR/../libswt/linux/x86/
;;
ppc)
LIBPATH=$BASEDIR/../libswt/linux/ppc/
;;
*)
echo "I'm sorry, this Linux platform [$ARCH] is not yet supported!"
exit
;;
esac
;;
FreeBSD)
ARCH=`uname -m`
case $ARCH in
x86_64)
LIBPATH=$BASEDIR/../libswt/freebsd/x86_64/
echo "I'm sorry, this Linux platform [$ARCH] is not yet supported!"
exit
;;
i[3-6]86)
LIBPATH=$BASEDIR/../libswt/freebsd/x86/
;;
ppc)
LIBPATH=$BASEDIR/../libswt/freebsd/ppc/
echo "I'm sorry, this Linux platform [$ARCH] is not yet supported!"
exit
;;
*)
echo "I'm sorry, this Linux platform [$ARCH] is not yet supported!"
exit
;;
esac
;;
HP-UX)
LIBPATH=$BASEDIR/../libswt/hpux/
;;
CYGWIN*)
./Spoon.bat
exit
;;
*)
echo Spoon is not supported on this hosttype : `uname -s`
exit
;;
esac
export LIBPATH
# ******************************************************************
# ** Set java runtime options **
# ** Change 512m to higher values in case you run out of memory **
# ** or set the PENTAHO_DI_JAVA_OPTIONS environment variable **
# ******************************************************************
if [ -z "$PENTAHO_DI_JAVA_OPTIONS" ]; then
PENTAHO_DI_JAVA_OPTIONS="-Xmx512m"
fi
OPT="$OPT $PENTAHO_DI_JAVA_OPTIONS -Djava.library.path=$LIBPATH -DKETTLE_HOME=$KETTLE_HOME -DKETTLE_REPOSITORY=$KETTLE_REPOSITORY -DKETTLE_USER=$KETTLE_USER -DKETTLE_PASSWORD=$KETTLE_PASSWORD -DKETTLE_PLUGIN_PACKAGES=$KETTLE_PLUGIN_PACKAGES -DKETTLE_LOG_SIZE_LIMIT=$KETTLE_LOG_SIZE_LIMIT"
# ***************
# ** Run... **
# ***************
"$_PENTAHO_JAVA" $OPT $STARTUP -lib $LIBPATH "${1+$@}"
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
能否另找个swtforAIX的jar包换上?另外,为啥要在AIX上运行spoon呢,一般只用在服务器上跑server就可以了吧,任务定制可以在其他pc上做。server运行即可。