Відповіді:
Це потрібно зробити в два етапи:
Якщо у вас немає внутрішнього сховища, і ви просто намагаєтесь додати свій JAR до свого локального сховища, ви можете встановити його наступним чином, використовуючи будь-який довільний groupId / artifactIds:
mvn install:install-file -DgroupId=com.stackoverflow... -DartifactId=yourartifactid... -Dversion=1.0 -Dpackaging=jar -Dfile=/path/to/jarfile
Ви також можете розгорнути його у своєму внутрішньому сховищі, якщо у вас є, і хочете зробити це доступним для інших розробників вашої організації. Я просто використовую веб-інтерфейс мого сховища для додавання артефактів, але ви повинні мати можливість виконати те саме, використовуючи mvn deploy:deploy-file ...
.
Потім оновіть залежність у pom.xml проектів, які використовують JAR, додавши до елемента наступне:
<dependencies>
...
<dependency>
<groupId>com.stackoverflow...</groupId>
<artifactId>artifactId...</artifactId>
<version>1.0</version>
</dependency>
...
</dependencies>
Ви також можете вказати залежність не в сховищі maven. Може бути корисним, якщо не існує центрального сховища Maven для вашої команди або якщо у вас є сервер CI
<dependency>
<groupId>com.stackoverflow</groupId>
<artifactId>commons-utils</artifactId>
<version>1.3</version>
<scope>system</scope>
<systemPath>${basedir}/lib/commons-utils.jar</systemPath>
</dependency>
Власне, розслідуючи це, я вважаю, що всі ці відповіді є невірними. Ваше питання вводить в оману через наш рівень розуміння maven
. І я кажу наше, бо я просто знайомлюсь maven
.
В Eclipse
, якщо ви хочете додати файл фляги в свій проект, як правило , ви завантажуєте банку вручну , а потім помістіть його в Lib каталогу. З Maven ти не робиш це так. Ось що ви робите:
dependency
заяву у своєpom.xml
mvn
Тепер maven
підключимось та завантажимо jar
разом зі списком залежностей та автоматично вирішимо всі додаткові залежності, які, jar
можливо, були. Тож якщо jar
також потрібна загальнодоступна реєстрація даних, вона також буде завантажена.
Я б це зробив:
додайте залежність, як вам подобається, у свою пом:
<dependency>
<groupId>com.stackoverflow...</groupId>
<artifactId>artifactId...</artifactId>
<version>1.0</version>
</dependency>
запустити mvn install
спробує завантажити банку і не вдасться. У процесі він дасть вам повну команду встановити банку з повідомленням про помилку. Скопіюйте цю команду і запустіть її! легко ?!
Я припускаю, що ви запитуєте, як перенести залежність на "відоме сховище", а не просто запитуєте, як оновити свою POM.
Якщо так, то це те, що ви хочете прочитати.
А для всіх, хто хоче налаштувати внутрішній сервер сховищ, дивіться тут (половина проблеми з використанням Maven 2 - це пошук документів)