Я должен был решить эту проблему несколько месяцев назад.Я написал небольшую библиотеку, которая должна была использоваться многими проектами, и я хотел добавить ее в maven.Это то, что я сделал.
Для вашего "проекта Utils"
Скомпилируйте его, используя maven-assembly-plugin:
Добавьте это в ваш pom.xml:
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>attached</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
Создайте библиотеку с ее зависимостями, используя следующую команду:
сборка чистой компиляции mvn: присоединено
Для вашего основного проекта
Добавьте этот плагин в ваш pom.xml:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.2</version>
<executions>
<execution>
<id>install-external</id>
<phase>clean</phase>
<configuration>
<file>${project.basedir}/src/main/resources/lib/sso-client-1.0.jar</file>
<repositoryLayout>default</repositoryLayout>
<groupId>SSOClient</groupId>
<artifactId>sso-client</artifactId>
<version>1.0</version>
<packaging>jar</packaging>
<generatePom>true</generatePom>
</configuration>
<goals>
<goal>install-file</goal>
</goals>
</execution>
</executions>
</plugin>
Как вы можете видеть, я написал собственный SSO-клиент.
Это будет читать jar, скомпилированный на предыдущем шаге, исделать его доступным как зависимость.Я решил разместить его в папке ресурсов основного проекта.Версия должна совпадать с версией в вашем "проекте утилит".
Также добавьте зависимость в pom.xml:
<dependency>
<groupId>SSOClient</groupId>
<artifactId>sso-client</artifactId>
<version>1.0</version>
</dependency>
Вот и все!Теперь вы можете ссылаться на классы пакета в вашем основном проекте.
Дайте мне знать, если вам нужны пояснения.