Обычно ( в C++), я бы создал новый проект для библиотеки, а затем включил бы его в каждый из других проектов как подмодуль git, а затем включил бы инструкции по сборке библиотеки и зависел бы от нее. Мне это очень нравится, потому что я могу видеть исходный код библиотеки в каждом из проектов и выполнять отладку в них, что полезно, поскольку библиотека и другие проекты разрабатываются вместе. Я могу найти ошибку в библиотеке, а может просто хочу что-то изменить, и это очень легко сделать.
Чтобы было понятно, что бы я хотел сделать включить мою библиотеку Java в качестве подмодуля и отредактировать файл build.gradle, чтобы при создании проекта он собирал и «связывал» библиотеку, но я хочу сохранить возможность доступа и изменения исходного кода. библиотеки. Я не хочу открывать другой проект, компилировать JAR-файл и копировать его в каталог зависимостей каждый раз, когда я вношу изменение в библиотеку. Я также хочу «статически» связать библиотеку, чтобы можно было развернуть только один JAR.
В Java это работает не очень хорошо. Я попытался просто включить исходный код, но столкнулся с проблемами с именем пакета. Если у меня есть библиотека com.acme.lib, я не могу включить ее в com.acme.proj1, поскольку каталоги уже существуют.
Подробнее моя библиотека устроена так
Код: Выделить всё
src
└── main
└── java
└── com
└── acme
└── Library.java
Код: Выделить всё
src
└── main
└── java
└── com
└── acme
└── Project1.java
В своих исследованиях я не нашел другого способа сделать это. Это возможно? Или мне следует действовать совершенно по-другому и использовать соглашение Java, о котором я не знаю?
Я использую IntelliJ IDEA, если это имеет значение.
Подробнее здесь: https://stackoverflow.com/questions/610 ... ss-to-sour