2015-05-29 2 views
1

Я действительно новичок в Java и должен постоянно формулировать и решать вопросы. Но единственное, что я не могу сделать сам по себе, это импортировать пакеты на Java. Я просмотрел ответы на многие подобные вопросы, но они либо не работают в моем случае, либо очень неясны.Алгоритм импорта пакетов в Java

Проблема очень общая: у меня есть пакет в каталоге X, содержащий файл jar X-4.9.jar, исходные файлы в подкаталоге X/src и обычные другие каталоги. Я установил CLASSPATH в каталог Y с помощью командной строки, так что Y содержит X. Мне нужно выяснить, как импортировать его в моем открытом классе. Насколько я понимаю, мне нужно будет написать:

1) import Name1.Name2 ... NameK. *; Вопрос: как узнать Name1, Name2 ..?

2) Нужно ли мне что-то делать? Я использую NetBeans IDE и не имею опции меню для добавления библиотеки или jar в проект, мой класс не является приложением. Я также использую Maven для первой сборки каждого класса, который я пишу (в основном пишу библиотеку), но затем использую NetBeans, поскольку он быстрее.

Мне нужен простейший гарантированный способ работы, чтобы достичь цели, даже если он уродлив. Также будет оценена ссылка на четкое объяснение того, как можно вычислить алгоритм.

EDIT: Предположим, мне нужно импортировать пакет CSSBox. Я пишу в своем заявлении на импорт cssbox. * Или net.sf.cssbox. ? Почему бы не some.hard.to.find.package.? По Name1, Name2 я действительно имею в виду имена, а не пакеты/классы, к которым он относится.

ответ

0

Читайте ответы на этот вопрос: Reflection

Это покажет вам, насколько близко вы можете добраться до выяснения NAME1 и NAME2, но вы просто не можете это сделать. Эти операторы импорта отбрасываются перед компиляцией класса в файл объекта.

Прочитайте этот вопрос для подробного объяснения: Finding imports with reflection

+0

Спасибо. Я не ищу конкретные методы в импорте, все в порядке, чтобы импортировать все. Но проблема в том, что компилятор просто не может найти пакет вообще. Мне нужно помочь, но не знаю, как и где он ищет пакеты для импорта. – Allex

+0

Насколько я понимаю, вам не нужны конкретные методы, а не библиотеки или пакеты, которые импортируются. Вы не можете этого сделать, потому что эти операторы импорта отбрасываются. –

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