Odpowiedzi:
Musisz to zrobić w dwóch krokach:
Jeśli nie masz repozytorium wewnętrznego i próbujesz tylko dodać plik JAR do repozytorium lokalnego, możesz go zainstalować w następujący sposób, używając dowolnego dowolnego groupId / artifactIds:
mvn install:install-file -DgroupId=com.stackoverflow... -DartifactId=yourartifactid... -Dversion=1.0 -Dpackaging=jar -Dfile=/path/to/jarfile
Możesz również wdrożyć je w swoim wewnętrznym repozytorium, jeśli je masz, i chcesz udostępnić je innym programistom w Twojej organizacji. Po prostu używam interfejsu internetowego mojego repozytorium do dodawania artefaktów, ale powinieneś być w stanie osiągnąć to samo, używając mvn deploy:deploy-file ...
.
Następnie zaktualizuj zależność w pom.xml projektów, które używają pliku JAR, dodając następujący element do elementu:
<dependencies>
...
<dependency>
<groupId>com.stackoverflow...</groupId>
<artifactId>artifactId...</artifactId>
<version>1.0</version>
</dependency>
...
</dependencies>
Możesz również określić zależność, której nie ma w repozytorium maven. Może się przydać, gdy nie istnieje centralne repozytorium Maven dla twojego zespołu lub jeśli masz serwer 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>
Właściwie, badając to, myślę, że wszystkie te odpowiedzi są nieprawidłowe. Twoje pytanie jest mylące ze względu na nasz poziom zrozumienia maven
. Mówię „nasze”, bo dopiero się przedstawiam maven
.
W programie Eclipse
, jeśli chcesz dodać plik jar do projektu, zwykle pobierasz plik jar ręcznie, a następnie upuszczasz go do katalogu lib . Z maven nie robisz tego w ten sposób. Oto co robisz:
dependency
oświadczenie do swojegopom.xml
mvn
Teraz maven
połączy się i pobierze jar
wraz z listą zależności i automatycznie rozwiąże wszelkie dodatkowe zależności, które jar
mogły mieć. Więc jeśli jar
potrzebne jest również wspólne logowanie, to również zostanie pobrane.
Zrobiłbym to:
dodaj zależność, jak chcesz w swoim pom:
<dependency>
<groupId>com.stackoverflow...</groupId>
<artifactId>artifactId...</artifactId>
<version>1.0</version>
</dependency>
uruchom mvn install
, spróbuje pobrać plik jar i zakończy się niepowodzeniem. W trakcie tego procesu otrzymasz pełne polecenie instalacji słoika z komunikatem o błędzie. Skopiuj to polecenie i uruchom je! łatwe prawda ?!
Zakładam, że pytasz, jak wypchnąć zależność do „dobrze znanego repozytorium”, a nie po prostu pytasz, jak zaktualizować POM.
Jeśli tak, to właśnie chcesz przeczytać.
A dla każdego, kto chce skonfigurować wewnętrzny serwer repozytorium, spójrz tutaj (połowa problemu z używaniem Maven 2 polega na znalezieniu dokumentów)