У меня возникла ситуация, когда у меня есть проект maven с несколькими предложениями и методами ... и мне нужно иметь те же классы и методы проекта для некоторых других проектов, которым они нужны.
После прочтения некоторых о Git подмодулях, Git поддеревьях и других способах выполнения sh этого. я решил экспортировать файл Jar с его зависимостями и скопировать его во все другие проекты в подкаталоге $ {basedir} / lib /. Таким образом, я делаю это достаточно простым для всех разработчиков в моей команде QA (мы не настолько опытные разработчики, как мы пришли из мира QA), а также я могу контролировать, что все они используют одни и те же библиотеки во всех проектах.
Я экспортировал в файл Jar с помощью плагина maven сборки, добавив его в мой файл POM в первом репо:
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>fully.qualified.MainClass</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
И запустив
$ mvn clean compile assembly:single
У меня есть Jar файл в каталоге 'target', который я скопировал во все остальные репозитории. в каталоге 'lib' каждого репо.
Затем в POM-файлах других репозиториев я добавил в раздел их зависимостей POM:
<dependency>
<groupId>myDep</groupId>
<artifactId>myDep</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>system</scope>
<systemPath>${basedir}/lib/myDep-1.0-SNAPSHOT-jar-with-dependencies.jar</systemPath>
</dependency>
Дело в том, что я не смог понять это как импортировать Jar в мои классы, чтобы использовать методы, которые мне нужны из этого импортированного Jar. Как я пытался импортировать, как
import myDep.*
Но это не работает.
Не могли бы вы указать мне в правильном направлении? большое спасибо!