У меня есть локальный файл Jar, который я хочу добавить в качестве зависимости для проекта Maven, над которым я работаю.
Это легко сделать, как указано в ответе это.
Проблема в том, что для правильной работы этого файла Jar требуется файл foo.classifier.
Этот файл Jar предназначен для запуска из командной строки (java -jar bar.jar {argument}). Файлы Jar и классификатора находятся в одном каталоге, поэтому все работает нормально.
Однако из моего проекта я хочу вызвать файл Jar, используя его методы, а не запуская процесс.
Я добавил файл Jar в качестве зависимости, и мне удалось вызвать основной метод, который получает аргумент, однако он не работает должным образом из-за того, что foo.classifier файл не установлен в качестве зависимости для работы этого файла Jar.
Кто-нибудь знает, как я могу установить его как зависимость от этого файла Jar?
Можете ли вы отредактировать исходники и создать файл bar.jar самостоятельно?
Я не был тем, кто кодировал файл Jar, поэтому я не знаю, как он используется. Я только знаю, что файлы jar и classifier должны находиться в одном каталоге. Также не могу редактировать исходники.
У вас есть исходники и вы можете прочитать исходники основного метода?




Поместите файлы foo.classifier в точную папку в папке .m2\repository, где присутствует ваш локальный файл Jar, который вы добавили в качестве зависимости, поскольку jar зависимостей будет ссылаться из локального репозитория.
Это звучит хрупко для меня.
Это похоже на то, что jar и файлы находятся в одном каталоге.
Но локальные репозитории часто удаляются, создаются заново и т.д.
Вы можете поместить свою банку в каталог libs и добавить приведенный ниже код в свой файл пом.xml:
<dependency>
<groupId>htmlunit</groupId>
<artifactId>htmlunit</artifactId>
<version>2.21-OSGi</version>``
<scope>system</scope>
<systemPath>the full path of the jar</systemPath>
</dependency>
по возможности следует избегать системы масштаба.
Я не могу не подчеркнуть это достаточно сильно, что сказал Дж. Ф. Мейер.
Да, Дж. Ф. Мейер прав, и я просто говорю о способе использования локальных файлов jar с Maven.
Добавьте банку в репозиторий maven с помощью следующей командной строки, укажите идентификатор группы, идентификатор артефакта и версию.
mvn install:install-file -Dfile = "my-local.jar" -DgroupId = "my.groupid" -DartifactId = "name" -Dversion = "1.0.0" -Dpackaging=jar
а затем добавьте как зависимость к вашему pom
<dependency>
<groupId>my.groupid</groupId>
<artifactId>name</artifactId>
<version>1.0.0</version>
</dependency>
Как вы используете файлы foo.classifier в jar. Чтение из пути к классам или физического пути?