Проблема с запуском spoon.sh на amazon ec2 linux

Я перестаю работать с linux и Amazon EC2.

i настройте JAVA_HOME, указав ниже две ссылки

Как узнать JAVA_HOME_Variable

bash_profile

поэтому текущий путь в моем файле bash_profile

export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.51.x86_64

export PATH=$PATH:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.51.x86_64/bin

теперь я пытаюсь запустить. /spoon.sh, он дает мне ошибку

 Caused by: java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons:
    no swt-pi-gtk-3740 in java.library.path
    no swt-pi-gtk in java.library.path
    /root/.swt/lib/linux/x86_64/libswt-pi-gtk-3740.so: libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory
    Can't load library: /root/.swt/lib/linux/x86_64/libswt-pi-gtk.so

    at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
    at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
    at org.eclipse.swt.internal.gtk.OS.<clinit>(Unknown Source)
    at org.eclipse.swt.internal.Converter.wcsToMbcs(Unknown Source)
    at org.eclipse.swt.internal.Converter.wcsToMbcs(Unknown Source)
    at org.eclipse.swt.widgets.Display.<clinit>(Unknown Source)
    at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:540)
    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:622)
    at org.pentaho.commons.launcher.Launcher.main(Launcher.java:134)

может ли кто-нибудь предположить, что что-то не так?

Ответ 1

Pentaho не поддерживает версию openjdk java. Установите Oracle/Sun java.

Но так или иначе... Вы пытаетесь запустить среду чайника на экземпляре Ec2? без экрана X? Если вы хотите просто выполнить задания или преобразования в кеште, вам нужно использовать kitchen.sh или pan.sh, а не spoon.sh. Spoon.sh - это только создание транс или заданий с интерфейсом графического интерфейса.

Ответ 2

Вы экспортировали неправильный путь JAVA_HOME. Он должен быть следующим:

export JAVA_HOME=/usr/lib/jvm/jre-1.6.0-openjdk.x86_64

Ответ 3

Проблема, которую я вижу здесь, заключается в том, что репозиторий yum для экземпляра AM2 Amazon Linux AMI не содержит графических двоичных файлов. Эти двоичные файлы включают gtk и swt с gtk. Вы можете либо скомпилировать все зависимости, либо использовать другое изображение. Поскольку вы новичок, я предлагаю вам перейти на образ ubuntu.

На образ ubuntu вы можете запустить apt-get для установки отсутствующих зависимостей:

Для Java:  - sudo add-apt-repository ppa: webupd8team/java для oracle java  - Обновление sudo apt-get  - sudo apt-get install oracle-java8-installer

Для libswt:  - sudo apt-get install libswt-gtk-3-jni libswt-gtk-3-java

Другая проблема, о которой я думаю, заключается в том, что вы, вероятно, пытаетесь запустить графическое приложение. Если это так, вам нужно запустить его с помощью оконного менеджера, такого как Xvnc или Xvfb.