2016-03-16 2 views
3

Я имею в виду, что в Java существует стандартный набор пакетов, на которые можно ссылаться из любой программы в любом контексте на компьютере. Поэтому, когда я хочу обрабатывать растровые изображения, я просто добавляю import java.awt.image.BufferedImage в начало моего файла, и я могу использовать этот предварительно построенный класс, не ссылаясь на фактические файлы пакета java.awt.image вообще во время компиляции и времени выполнения. Где хранятся эти глобально импортируемые пакеты и/или как я могу сделать файлы пакетов глобально доступными одинаково?Как создать глобально доступные библиотеки в Java?

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

Спасибо за любую помощь.

+0

Почему вы не создаете проект lib в eclipse и не ссылаетесь на все ваши новые проекты ??? –

+0

@Xoce 웃 Пepeúpa Потому что 1) Я не использую eclipse Я обычно просто делаю файл .java в текстовом редакторе, а затем скомпилирован с терминалом. 2) Мне было любопытно, как это сделать. –

ответ

1

Вы можете поместить любую библиотеку jar, которую вы хотите в свою JRE, чтобы достичь такого же результата - классы из этой банки будут доступны в пути к классам во время выполнения, хотя это не рекомендуется делать без причины :) Но если вы просто учитесь и не хотите заниматься инструментами сборки, это нормально.

[java-home]/lib/ext - standart place for your libraries 
[java-home]/lib/endorsed - place for the libraries which API's overwrite default JRE's ones 
+0

Не могли бы вы добавить немного больше информации о том, как добавить банку в JDK? Извините, если это досадный вопрос, но я не * на самом деле * программист на Java, и я не знаю, где/что мой JDK на самом деле. Это каталог, на который ссылается 'JAVA_HOME'? Я просто положил свою банку в этот каталог? –

+0

ok, добавлена ​​информация. Да, [java-home] в моем примере имеет значение переменной окружения JAVA_HOME. – Cootri

+0

Итак, вы говорите, что '$ JAVA_HOME/lib/ext' для стандартных библиотек и' $ JAVA_HOME/lib/endorsed' для моего собственного библиотеки? Вид вроде '/ usr/lib' vs.'/usr/local/lib'? И почему это не рекомендуется без веской причины? –

Смежные вопросы