2016-12-06 3 views
1

Cette question peut sembler en double mais j'ai essayé toutes les options mais pas de chance.Jars externes dans l'application de démarrage de printemps déployés dans heroku

Je veux ajouter un pot externe qui n'est pas là dans le référentiel maven dans mon pot en vrac de démarrage de ressort. Cette application est déployée dans le nuage de Heroku et est couru en utilisant la commande

java -Dserver.port=$PORT -jar target/myjar.jar 

J'ai essayé différents scénarios pour résoudre ce

1.

<dependency> 
     <groupId>exjar</groupId> 
     <artifactId>exjar</artifactId> 
     <scope>system</scope> 
     <version>JDK7</version> 
     <systemPath>${project.basedir}/lib/exjar-JDK7.jar</systemPath> 
     </dependency> 

2.

java -Dserver.port=$PORT -Dloader.path="lib/*" -jar target/myjar.jar 

3. maven-install-plugin

Aucune de ces réponses n'a fonctionné. Je veux essayer l'approche ci-dessous, une idée de la façon d'exécuter cette commande dans heroku?

mvn install:install-file 
    -Dfile=<path-to-file> 
    -DgroupId=<group-id> 
    -DartifactId=<artifact-id> 
    -Dversion=<version> 
    -Dpackaging=<packaging> 
    -DgeneratePom=true 

Toute solution est appréciée.

+0

Pour 2, changer votre 'layout' configuration de spring-boot-maven-plugin à ['ZIP'] (http://docs.spring.io/spring-boot/docs/current/maven-plugin/usage.html#Repackaging_an_application), de sorte que' loader. chemin' sera choisi par 'PropertiesLauncer'. – tan9

Répondre

2

Ajouter un référentiel suivant vous pom

<repositories> 
    <repository> 
    <id>external</id> 
    <name>External Project Repo</name> 
    <url>file:///${project.basedir}/lib</url> 
    </repository> 
</repositories> 

puis ajoutez la dépendance

<dependency> 
    <groupId>exjar</groupId> 
    <artifactId>exjar</artifactId> 
    <version>jdk7</version> 
    </dependency> 

Lorsque vous avez terminé la construction de votre myjar.jar devrait avoir BOOT-INF/lib/exjar-jdk7.jar

+0

Cela a fonctionné merci – Developer