2017-08-19 5 views
1

Ich habe eine Spring Boot-App, die gerade entwickelt und für die Verwendung der Bibliothek ein externes JAR benötigt.Hinzufügen einer externen JAR-Datei in der Spring Boot-Anwendung

So wird das externe Glas hinzugefügt;

<dependency> 
    <artifactId>uptime-sdk</artifactId> 
    <groupId>com.uptime.app</groupId> 
    <version>2.0.0-ALPHA</version> 
    <scope>system</scope> 
    <systemPath>${basedir}/src/lib/uptime-sdk-fatjar.jar</systemPath> 
</dependency> 

Die obige Implementierung funktioniert, wenn die App mit dem eingebetteten Tomcat-Server in IntelliJ ausgeführt wird.

Aber nach dem Verpacken der App in einer WAR-Datei und Bereitstellung auf einem Tomcat-Server funktioniert die App nicht. Stattdessen bekomme ich die Ausnahme;

java.io.FileNotFoundException 

Die Ausnahme verweist auf eine Klasse im externen Jar.

Wenn ich die Dateien überprüfe, die verwendet werden, um die WAR-Datei zu generieren, kann ich das externe Glas in den Ordnern WEB-INF oder META-INF nicht sehen.

Jede Art von Hilfe oder Anleitung wird sehr geschätzt.

+0

Es ist keine gute Idee, das "Version" -Tag in der Spring-Boot-App anzugeben. https://docs.spring.io/spring-boot/docs/current/reference/html/using-boot-build-systems.html#using-boot-dependency-management – MAC

Antwort

0

Vielleicht mit maven-install-plugin würde funktionieren?

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-install-plugin</artifactId> 
    <version>2.5.1</version> 
    <configuration> 
     <groupId>org.somegroup</groupId> 
     <artifactId>someartifact</artifactId> 
     <version>1.0</version> 
     <packaging>jar</packaging> 
     <file>${basedir}/dependencies/someartifact-1.0.jar</file> 
     <generatePom>true</generatePom> 
    </configuration> 
    <executions> 
     <execution> 
     <id>install-jar-lib</id> 
     <goals> 
      <goal>install-file</goal> 
     </goals> 
     <phase>validate</phase> 
     </execution> 
    </executions> 
</plugin> 

Sie haben nicht explizit Ihre jar in Abhängigkeiten zu definieren, wenn generatePom zu true gesetzt.

<generatePom>true</generatePom> 
Verwandte Themen