Как импортировать .jar в файл Java без IDE и с помощью Maven?

#java #maven

#java #maven

Вопрос:

Я не могу скомпилировать файлы напрямую. Я использую mvn package .
Я не могу запустить файлы напрямую. Я использую storm (Apache).
Я мало что знаю о Maven.
Я попытался просто поместить .jar в ту же папку, что и код, и использовать import com.path.of.jar . Он скомпилировался, но когда я попытался запустить, выдал ошибку NoClassDefFoundError.

Комментарии:

1. Вам нужно сообщить Maven, чтобы он добавил файл JAR в ваш classpath

Ответ №1:

Попробуйте этот способ прямого добавления зависимостей, например:

 <dependency>
<groupId>sample</groupId>
<artifactId>com.sample</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/resources/yourJar.jar</systemPath>
</dependency>
  

Ответ №2:

Когда вы работаете над проектом на основе maven, вы управляете зависимостями через pom.xml файл в корне проекта. POM расшифровывается как Project Object Model и содержит информацию о проекте и детали конфигурации, используемые Maven для сборки проекта (Введение в POM). Проект maven создает артефакт, однозначно идентифицируемый по его координатам: <groupId> , <artifactId> и <version> , которые вы обычно находите в верхней части вашего pom.xml файла. Как только артефакт опубликован в репозитории, другие проекты maven могут зависеть от него.

Если вы посмотрите на содержимое вашего POM-файла, вы должны увидеть <dependencies> элемент, содержащий все зависимости, которые необходимы вашему проекту. Если вы хотите импортировать классы из jar в свой код, вам нужно будет найти координаты maven этого jar (например, на search.maven.org или mvnrepository.com).

Как только у вас будут координаты, добавьте соответствующий раздел зависимостей. Это должно выглядеть следующим образом:

 <dependency>
  <groupId>commons-lang</groupId>
  <artifactId>commons-lang</artifactId>
  <version>2.6</version>
</dependency>
  

При следующем запуске mvn package jar будет загружен, использован во время компиляции и упакован вместе с вашим артефактом.

И если вы хотели бы получить хорошее представление о maven, следующая бесплатная книга превосходна: Maven: полный справочник