Вы можете собрать все свои пакеты одновременно - они не обязательно должны быть в отдельных jar-файлах. В вашем примере есть три пакета, по одному для каждого каталога, в котором у вас есть исходный код. В java-файле вы должны добавить строку, чтобы указать, что это пакет.
package myDir.myProject.common;
Когда вы импортируете, у вас должна быть строка для каждого класса, который вы хотите импортировать. Как это:
import myDir.myProject.common.Class1;
import myDir.myProject.common.Class2;
Вы также можете использовать .*
для обозначения всех классов в пакете, но лучше перечислить конкретные классы, если можете.
Когда вы компилируете, вы должны компилировать из корневого каталога в верхней части всех пакетов. Таким образом, корневой каталог будет иметь доступ ко всем файлам исходного кода. Например, если вы ищете myDir.myProject.common.Class1
, компилятор будет естественно искать в myDir/myProject/common/
для Class1
. Обратите внимание, что это относительный каталог. В противном случае, если пакет уже был упакован в банку, он найдет его там. Если у вас есть пакет, который вы планируете использовать в нескольких проектах, то его можно собрать и сослаться на каталог таким образом, что может помочь с переносимостью и контролем версий.
Другое предложение, которое у меня есть, заключается в том, что вы используете IDE, например, Eclipse, которая будет обрабатывать многие из этих вещей для вас. Когда я настраиваю проект в Eclipse, я добавляю исходный каталог, создаю пакеты, а затем создаю классы в этих пакетах. Он обрабатывает весь пакет и операторы импорта в коде для меня.