Создал test.jar файл проекта. Поместил его в папку libs другого, но не пойму как импортировать классы/методы из этого test.jar. Подскажите пожалуйста, как организовать импорт. Пытаюсь импортировать следующие классы
import com.JSONelements.JSONBaseElement;
import com.parseJSON.BaseParser;
import com.workWithFile.ReadFromFile; 3 класса(я написал с указанием пакетов)
Jar собирал без использовании системы сборки, просто прописал .bat и запустил его, jar файл успешно создался
D:
cd D:\workspace\JSONParser
jar cf parseJSON.jar classFoulder/* src/*
pause
Вообще использую Eclipse, но похоже он не видит классы. Хочу научиться и с помощью Екслипса(без сборщиков) и с помощью командной строки это проделывать. Но статей толковых нет. Написал это в главном классе нового проекта, но импорт не работает:
package com.json;
import com.JSONelements.JSONBaseElement;
import com.parseJSON.BaseParser;
import com.workWithFile.ReadFromFile;
public class TestJSON {
public static void main(String[] args) {
String jsonString = ReadFromFile.readFile("d:/json1.txt");
System.out.println("Formated from file: " + jsonString);
JSONBaseElement parserJson = BaseParser.mainParse(jsonString);
System.out.println(parserJson);
}
}
В импортируемом .jar
файле (созданной вами библиотеке) должен точно быть указан package
, первой строчкой в каждом вашем классе.
Затем, если вы компилируете проект напрямую консольными командами, желаемый .jar
файл необходимо добавить в classpath
проекта, который будет использовать нужную библиотеку.
Пример:
javac -cp "/путь/до/библиотеки.jar" Проект.jar
Тогда в проекте "проект.jar" можно будет использовать библиотеку.
Если вы используете среду разработки IntelliJ IDEA, тогда нужно сделать следующее:
зайти в Project Structure... | Libraries, нажать + и добавить нужную библиотеку в список библиотек:
Это делается для того, чтобы вы могли указать import com.ваш.пэкейдж.ИмяКласса;
в проекте, и при компиляции проект знал, откуда импортировать нужные классы.
С системами сборки всё гораздо проще: если нужная библиотека есть в каком-нибудь из публичных репозиториев, например в Maven Central
, то достаточно будет указать всего несколько строчек в конфигурационном файле.
Пример для maven: нужно добавить строчки ниже в файл pom.xml:
<dependencies>
<dependency>
<groupId>group.id.библиотеки</groupId>
<artifactId>имя-библиотеки</artifactId>
<version>версия</version>
</dependency>
<!-- другие проекты -->
<dependencies>
Для gradle: добавить строчки ниже в build.gradle:
dependencies {
compile group: 'group.id.библиотеки', name: 'имя-библиотеки', version: 'версия'
}
И так далее.
Файл надо поместить в CLASSPATH и тогда классы будут доступны для импорта
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Здравствуйте, мой вопрос заключается в следующем: у меня есть чат, реализованный с помощью javaxwebsocket, мне захотелось переделать его на Spring,...
У меня в классе RegistrationFrame, который реализует интерфейс ActionListener, по нажатию на кнопку создается класс PersonВ отдельном классе, Test, в отдельном...
Столкнулся с этой проблемой при компиляции программы на реальном устройстве 60
Хочу реализовать систему выбора языкового файла для перевода текстаПолучил язык установленный в клиенте у игрока