Архив метки: Java

java sun wtk на linux 64 бита

Грустно, но на данный момент нет 64-битной wtk под линукс, даже классической 2.5.2. Если поставить 32-битную, она ругается и не работает. Пишет что-то типа:
Error libraries: libXt.so.6: wrong ELF class: ELFCLASS

Рассказываю как я всё запустил.

В дополнение к 64-битным JDK ставим 32-битную. Я качаю bin-пакет с java.sun.com и ставлю в /opt/jdkXXX с символической ссылкой на текущую версию этого хозяйства как /opt/jdk
Итак, ставим таким же образом 32-битную. И пусть 32-битная JDK будет в /opt/jdk-32.
Качаем WTK, на этот момент это sun_java_wireless_toolkit-2.5.2_01-linuxi486.bin.sh, ставим как обычно. Тоже пусть в /opt
При установке выбираем путь к нашей JDK: /opt/jdk-32/bin
Путь пусть будет /opt/WTK2.5.2
Ну, практически всё…

Надо лишь убедиться, что в запускалках в WTK стоят валидные пути, типа:
/opt/WTK2.5.2/bin/emulator:
javapathtowtk=/opt/jdk-32/bin/
Ну, и так далее.

И ещё надо иметь соответствующие 32-битные аналоги некоторых X-либ. Каких — вы узнаете при запуске тулбара или эмулятора (в том числе из других IDE). Ну, по памяти это что-то типа
...error while loading shared libraries: libXt.so.6: cannot open shared ...
Их также надо поставить из репозитория (или как там у вас в вашем дистрибутиве), они должны быть нормально доступны и вставть параллельно, не мешая нормальным родным 64-битным бинарникам.

Автор: Дмитрий

Linux: Добавляем jar-файлы в CLASSPATH, или подключаем сторонние библиотеки

В этом блоге я уже писал о том, как вообще прописывать переменную CLASSPATH в Linux Debian.
Сейчас же в ходе разработки столкнулся с необходимостью подключить в свой проект библиотеку, созданную сторонним разработчиком. Библиотека представлена файликом вида name.jar.
Для начала я попытался положить этот файл в директорию, заданную в уже прописанном classpath. Однако, это не помогло, компилятор не находил классов из этой библиотеки.
Задача: Добавить библиотеку в виде name.jar в CLASSPATH.
Решение: Сделать это просто.
1) Создаем директорию, в которой будет храниться эта библиотека:

mkdir /home/username/libraries/

2) Кладем файл в эту директорию:

mv name.jar /home/username/libraries/

3) Добавляем в CLASSPATH следующее (Как добавлять, описано здесь)

/home/username/libraries/*

Готово:)

Автор: AlexWinner
Дата публикации: 2010-03-19T16:02:00.000-07:00

Linux Debian (Ubuntu) — прописываем CLASSPATH для java

Как известно, CLASSPATH — это такая переменная, в которой содержатся пути, по которым компилятор и интерпретатор JAVA пытаются найти файлы и *.class для их обработки. Рассмотрим все это на примере.
Будем хранить все наши java проекты в директории /home/username/workspace. В моем случае username заменяется на alexwinner и эта директория выглядит так: /home/alexwinner/workspace. Конечно, можно было бы перемещаться в эту директорию командой cd, создавать там файлик с кодом java, например, /home/alexwinner/workspace/blabla.java, далее выполнять

javac blabla.java

затем

java blabla

и получать результат. Но что делать в случае, когда наш класс принадлежит какому-либо пакету? Например, у нас есть 2 класса в двух файлах. Первый файл — test.java:

package for_testing;
public class test{
     public static void main(String s[]){
        aga A = new aga();
        System.out.println(A.aga);
        };
};

Второй файл — aga.java, в нем будет храниться class aga:

package for_testing;
class aga{
     String aga=»aga»;
}

Что же мы делаем? Мы создаем папку /home/username/workspace/for_testing, причем имя этой папки должно совпадать с именем пакета, которое задается в строчке  «package for_testing;». Далее добавляем путь к папке workspace в переменную CLASSPATH:

export CLASSPATH=$CLASSPATH:/home/username/workspace/

После этого перемещаемся в папку /home/username/workspace/for_testing и компилируем наш пакет:
javac test.java
После этого остается только запустить его. Запускать можно абсолютно из любой папки, так как путь к ней содержится в глобальной переменной CLASSPATH:

java for_testing.test

и получаем результат:

aga

Стоит заметить, что путь к этой директории будет содержаться в CLASSPATH только до конца текущего сеанса. Чтобы добавить его туда перманентно, надо выполнить следующее:

echo «export CLASSPATH=$CLASSPATH:/home/username/workspace/» >>/home/username/.bashrc

Автор: AlexWinner
Дата публикации: 2009-11-30T09:31:00.000-08:00