Невозможно установить JAVA EE в Ubuntu 11.04 после установки JDK - PullRequest
0 голосов
/ 20 сентября 2011

Я совершенно новичок в Ubuntu и Java в целом.Мне удалось установить JDK 1.6 с помощью терминала.Я даже могу запустить простой HelloWorld.Моя проблема - всякий раз, когда я пытаюсь установить java_ee, у меня появляется ошибка:

java.lang.UnsatisfiedLinkError: no Terminal in java.library.path
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1681)
    at java.lang.Runtime.loadLibrary0(Runtime.java:840)
    at java.lang.System.loadLibrary(System.java:1047)
    at charva.awt.Toolkit.<clinit>(Toolkit.java:895)
    at charva.awt.Window.init(Window.java:62)
    at charva.awt.Window.<init>(Window.java:58)
    at charva.awt.Frame.<init>(Frame.java:32)
    at charvax.swing.JFrame.<init>(JFrame.java:34)
    at charvax.swing.JFrame.<init>(JFrame.java:30)
    at org.openinstaller.util.ui.ChaxStandaloneSplash.<init>(ChaxStandaloneSplash.java:91)
    at org.openinstaller.core.Orchestrator.main(Orchestrator.java:428)
    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:616)
    at org.openinstaller.core.EngineBootstrap.main(EngineBootstrap.java:208)
SEVERE INTERNAL ERROR: no Terminal in java.library.path

Честно говоря, у меня нет достаточного представления о том, что я делаю.Пожалуйста, помогите мне с этим.Заранее спасибо.

Ответы [ 5 ]

2 голосов
/ 20 сентября 2011

Эта трассировка стека показывает, что ошибка происходит в charva классах.charva требуется библиотека с именем Terminal.

С сайта чарвы :

For permanent installation, you just need to ensure that the directory containing 
the libTerminal.so library file is included in your library search path, which is
specified as follows:
· On Linux and Solaris it is specified by the environment variable LD_LIBRARY_PATH

Итак, выясните, есть ли у вас libTerminal.so и действительно ли оно указано LD_LIBRARY_PATH.

Просто добавим, вот исходный код, который делает этот сбой.

    static {
        // ...
        System.loadLibrary("Terminal");
        Toolkit.init();     // call native function to initalize ncurses.
    }

Может также помочь взглянуть на этот связанный вопрос: Исключение в потоке "main" java.lang.UnsatisfiedLinkError: нет терминала в java.library.path

ОБНОВЛЕНИЕ Если у вас нет libTerminal.so, взгляните на сайт чарвы и следуйте инструкциям по установке charva.Есть шаг, на котором вы строите libTerminal.so.

1 голос
/ 13 декабря 2011

Я только что столкнулся с этой же проблемой. Кажется, проблема в том, что установщик Glassfish не может найти правильное местоположение JAVA_HOME. Вы можете установить это вручную в установщике с флагом -j (скрипт установщика передает это установщику Glassfish).

Запуск следующего позволил мне успешно запустить программу установки Glassfish. Вы можете запустить 'which java', чтобы получить представление о том, где на вашем компьютере установлена ​​java.

sh ./java_ee_sdk-6u3-jdk7-linux-x64.sh -j [каталог установки java]

(где [каталог установки java] - это путь к вашей установке java).

1 голос
/ 20 сентября 2011

Похоже, для работы Java нужна собственная библиотека Terminal. Это похоже на неверный путь к библиотеке.

Если вы получаете ошибку времени выполнения "java.lang.UnsatisfiedLinkError: нет ххх в java.library.path ", что означает, что JRE не может найти ваш нативный библиотека во время выполнения. Самый простой способ отладки - распечатать содержимое "java.library.path" через System.out.println (System.getProperty ( "java.library.path")). Вы могли бы установить собственный путь к библиотеке с помощью параметра VM командной строки -Djava.library.path = ххх.

0 голосов
/ 30 сентября 2013

Исключение повышается, потому что JVM по умолчанию не является SUN или ORACLE, может быть OPENJDK, Jrockit и т. Д. Чтобы проверить это, выполните echo $JAVA_HOME или java -version и проверьте, является ли jvm, установленный по умолчанию, из ORACLE или SUN,Если нет, выполните: sudo update-alternatives --config java и выберите правильный.Если у вас не установлен SUN или ORACLE JRE, сначала установите его.

0 голосов
/ 20 сентября 2011

Вы запускали его в tty или виртуальном терминале под X-window? Почему вам нужно "установить" Java EE? Обычно для разработки достаточно jar-файла.

...