Si vous avez un projet parent avec un module qui se trouve dans cette situation (nécessite une dépendance non dans un référentiel), vous pouvez configurer votre projet parent utilisation de l'exec-maven-plugin plugin à installer automatiquement votre fichier dépendant. Par exemple, j'ai eu à faire avec la authorize.net jar fichier car il n'est pas publiquement disponible.
Parent POM:
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<inherited>false</inherited>
<executions>
<execution>
<id>install-anet</id>
<phase>validate</phase>
<goals>
<goal>exec</goal>
</goals>
</execution>
</executions>
<configuration>
<executable>mvn</executable>
<arguments>
<argument>install:install-file</argument>
<argument>-Dfile=service/lib/anet-java-sdk-1.4.6.jar</argument>
<argument>-DgroupId=net.authorize</argument>
<argument>-DartifactId=anet-java-sdk</argument>
<argument>-Dversion=1.4.6</argument>
<argument>-Dpackaging=jar</argument>
</arguments>
</configuration>
</plugin>
</plugins>
</build>
Dans l'exemple ci-dessus, l'emplacement de la jarre est dans le dossier lib du "service" module.
Au moment où le module de service entre la validation de la phase, le pot sera disponible dans le dépôt local. Simplement référence à elle dans la manière dont vous configurez l'id de groupe, artefact, etc dans le pom parent. Par exemple:
<dependency>
<groupId>net.authorize</groupId>
<artifactId>anet-java-sdk</artifactId>
<version>1.4.6</version>
</dependency>