Я пытаюсь добавить внешнюю библиотеку к моему проекту Java. Файлы библиотеки находятся в формате.jar, и каждый раз, когда кто-то пытается запустить проект в другой среде, он должен изменить путь сборки, чтобы их среда могла находить файлы.jar.
Есть ли способ сделать это так, чтобы файлы.jar автоматически находились по пути сборки? Может быть, указав, где в проекте находятся файлы.jar?
Редактировать: Вот пример. В моей среде linux файлы.jar расположены в:
/home/MyUsername\SomeDirectory\workspace\java_project_name\data
В моей среде Windows файлы.jar расположены в:
C:\MyUsername\SomeDirectory\workspace\java_project_name\data
В приведенном выше примере корневой каталог проекта является "java_project_name", а файлы.jar всегда находятся в папке java_project_name\data. Несмотря на то, что это так, разные среды не могут обнаружить, что они всегда находятся на одном пути по отношению к корневому каталогу проекта.
Я смотрел во многих местах о том, как это сделать, и некоторые люди сказали мне, что это невозможно. Мне это не кажется разумным, поэтому я задаю этот вопрос здесь.
Заранее спасибо за вашу помощь!
Это обычная проблема для среды разработки.
Я сам использую следующее решение в netbeans [Надеюсь, что он тоже работает в вашей среде IDE]:
Теперь, в любой среде разработки, которую вы собираетесь использовать, вы можете настроить одну и ту же переменную ANT, и она автоматически подберет JAR.
Вы можете увидеть пример в данном снимке netbeans..
Этот вопрос был одним из моих главных мотиваторов, чтобы начать использовать maven. @YoK прекрасно цитирует здесь соответствующие причины этого вопроса qaru.site/questions/1729/...
Вот один из соответствующих цитат из " Преимущества использования Maven"
Henning
- быстрая настройка проекта, отсутствие сложных файлов build.xml, просто ПОМ и переход
- все разработчики проекта используют одни и те же jar-зависимости из-за централизованного POM.
- получение ряда отчетов и показателей для проекта "бесплатно",
- уменьшить размер распределения источников, поскольку банки можно вытащить из центрального расположения
вы можете добавить запись ClassPath: в файл манифеста основной банки и использовать относительные пути. Пока банки найдены относительно основной банки, она будет работать.