Создание библиотеки Java - PullRequest
3 голосов
/ 09 апреля 2010

Это может быть глупый вопрос, но сейчас у меня довольно большой класс, который я хочу использовать в качестве библиотеки. Где кто-то может просто добавить этот файл JAR в свой путь к классу. А затем просто сделайте оператор импорта вверху, тогда он или она может начать использовать этот класс.

Есть ли что-то особенное, что мне нужно сделать, или я могу просто использовать встроенный файл jar?

Ответы [ 4 ]

6 голосов
/ 09 апреля 2010

довольно большой класс

Большие классы обычно не создают хороших библиотек:)

Технически, да, все, что тебе нужно, это положить в банку. Чтобы упростить его использование (в том числе и самостоятельно), вам следует потратить некоторое время на его реорганизацию и разделение функциональности на более мелкие классы в соответствии с Принципом единой ответственности . Для статических служебных методов подумайте, можете ли вы сгруппировать их в несколько классов в соответствии с какой-либо темой или, возможно, даже превратить некоторые из них в нестатические методы (если есть ситуации, когда клиент будет использовать более одного из этих методов для одного и того же метода). данные, они умоляют стать методами экземпляра).

И вам определенно следует написать комментарии Javadoc для всех общедоступных классов и методов и опубликовать Javadoc вместе с кодом. Библиотека без API-документа практически бесполезна.

2 голосов
/ 09 апреля 2010

Вы можете просто поместить JAR в путь к классам и импортировать класс. Больше не нужно магии.

1 голос
/ 09 апреля 2010

создайте JAR-файл .class вашего «большого класса», а затем поместите этот JAR в ваш CLASSPATH. Тогда вы сможете импортировать классы в JAR с помощью операторов «import». Если вы ожидаете слишком много огромных классов / библиотек, проверьте параметры JVM -Xms и -Xmx, которые заботятся об использовании кучи.

1 голос
/ 09 апреля 2010

Вы должны просто иметь возможность использовать банку, как есть. Все, что вам нужно, это убедиться, что файлы классов в JAR находятся в правильной структуре каталогов (в соответствии с именами их пакетов)

Класс Foo в пакете bar -> bar / Foo.class в банке

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...