2013-10-12 5 views
0

Я добавляю формулу в преобразование в чайник. В свойствах этой формулы, когда я нажимаю на формуле TextField, я получаю сообщение об ошибке:Ошибка при использовании функций в пентахо-чайнике

org.eclipse.swt.SWTError: No more handles [MOZILLA_FIVE_HOME=''] (java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons: 
no swt-mozilla-gtk-3740 in java.library.path 
no swt-mozilla-gtk in java.library.path 
/home/ron/.swt/lib/linux/x86/libswt-mozilla-gtk-3740.so: libxpcom.so: cannot open shared object file: No such file or directory 
Can't load library: /home/ron/.swt/lib/linux/x86/libswt-mozilla-gtk.so) 
at org.eclipse.swt.SWT.error(Unknown Source) 
at org.eclipse.swt.browser.Mozilla.initMozilla(Unknown Source) 
at org.eclipse.swt.browser.Mozilla.create(Unknown Source) 
at org.eclipse.swt.browser.Browser.<init>(Unknown Source) 
at org.pentaho.libformula.ui.editor.LibFormulaEditor.<init>(LibFormulaEditor.java:198) 
at org.pentaho.di.ui.trans.steps.formula.FormulaDialog$3.widgetSelected(FormulaDialog.java:219) 
at org.pentaho.di.ui.core.widget.TableView.editText(TableView.java:1940) 
at org.pentaho.di.ui.core.widget.TableView.edit(TableView.java:1895) 
at org.pentaho.di.ui.core.widget.TableView.edit(TableView.java:1867) 
at org.pentaho.di.ui.core.widget.TableView.editSelected(TableView.java:1326) 
at org.pentaho.di.ui.core.widget.TableView.access$3000(TableView.java:107) 
at org.pentaho.di.ui.core.widget.TableView$26.mouseDown(TableView.java:949) 
at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source) 
at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source) 
at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source) 
at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source) 
at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source) 
at org.pentaho.di.ui.trans.steps.formula.FormulaDialog.open(FormulaDialog.java:282) 
at org.pentaho.di.ui.spoon.delegates.SpoonStepsDelegate.editStep(SpoonStepsDelegate.java:136) 
at org.pentaho.di.ui.spoon.Spoon.editStep(Spoon.java:7835) 
at org.pentaho.di.ui.spoon.trans.TransGraph.editStep(TransGraph.java:2749) 
at org.pentaho.di.ui.spoon.trans.TransGraph.mouseDoubleClick(TransGraph.java:705) 
at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source) 
at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source) 
at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source) 
at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source) 
at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source) 
at org.pentaho.di.ui.spoon.Spoon.readAndDispatch(Spoon.java:1221) 
at org.pentaho.di.ui.spoon.Spoon.waitForDispose(Spoon.java:7044) 
at org.pentaho.di.ui.spoon.Spoon.start(Spoon.java:8304) 
at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:580) 
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 org.pentaho.commons.launcher.Launcher.main(Launcher.java:134) 
Caused by: java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons: 
no swt-mozilla-gtk-3740 in java.library.path 
no swt-mozilla-gtk in java.library.path 
/home/ron/.swt/lib/linux/x86/libswt-mozilla-gtk-3740.so: libxpcom.so: cannot open shared object file: No such file or directory 
Can't load library: /home/ron/.swt/lib/linux/x86/libswt-mozilla-gtk.so 

at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source) 
at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source) 
... 35 more 

Когда я проверяю /home/ron/.swt/lib/linux/ он имеет файл libswt-mozilla-gtk-3740.so

Просьба помочь мне с решением

ответ

5

Существует несколько проблем, которые могут помешать работе этой функции. Основная причина в том, что Pentaho использует SWT-функциональность, для которой требуется один из двух браузеров, установленных в операционной системе. См. Этот вопрос (http://www.eclipse.org/swt/faq.php#browserlinux). В моем случае, мы должны выбрать, хотим ли мы использовать WebKitGTK (WebKit) или Mozilla Firefox (Mozilla), добавив опцию VM в командной ява линии:

-Dorg.eclipse.swt.browser.DefaultType=mozilla

В моей системе, Ubuntu 14.04, браузер webkit вызывает ошибку в libsoup, поэтому мне нужно установить это в mozilla. Для справки см. https://bugs.launchpad.net/ubuntu-gnome/+bug/1163501 для ошибки libsoup в Eclipse, которая также использует SWT, аналогичную Pentaho.

Затем нам нужна мозаика firefox, которая будет присутствовать в системе, а также библиотека бегунов XUL MOSILA. Установить Firefox первый:

apt-get install firefox

Установить XUL бегун 1.9.2, потому что 2.0.0 или более поздней версии, как говорят, несовместимы (см http://jira.pentaho.com/browse/PDI-8730).

wget http://ftp.mozilla.org/pub/mozilla.org/xulrunner/nightly/2012/03/2012-03-02-03-32-11-mozilla-1.9.2/xulrunner-1.9.2.28pre.en-US.linux-x86_64.tar.bz2

tar -xjf xulrunner-1.9.2.28pre.en-US.linux-x86_64.tar.bz2

mv xulrunner /opt/xulrunner-1.9.2

Настройка пути XULRunner с помощью этой опции VM:

-Dorg.eclipse.swt.browser.XULRunnerPath=/opt/xulrunner-1.9.2

Мы также должны настроить LD_LIBRARY_PATH и MOZILLA_FIVE_HOME, чтобы указать на XULRunner :

MOZILLA_FIVE_HOME=/opt/xulrunner-1.9.2 LD_LIBRARY_PATH=${MOZILLA_FIVE_HOME}:${LD_LIBRARY_PATH}

Заключительная установка в spoon.sh является:

(spoon.sh, около линии 13) MOZILLA_FIVE_HOME=/opt/xulrunner-1.9.2 LD_LIBRARY_PATH=${MOZILLA_FIVE_HOME}:${LD_LIBRARY_PATH}

(spoon.sh, около линии 184) if [ -z "$PENTAHO_DI_JAVA_OPTIONS" ]; then PENTAHO_DI_JAVA_OPTIONS="-Xmx512m -XX:MaxPermSize=256m -Dorg.eclipse.swt.browser.DefaultType=mozilla -Dorg.eclipse.swt.browser.XULRunnerPath=/opt/xulrunner-1.9.2" fi

Смежные вопросы