2017-08-19 99 views
1

我有一個正在開發的Spring Boot應用程序,它需要使用外部jar來使用庫。在Spring Boot應用程序中添加外部jar文件

這是如何添加外部jar;

<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> 

上述實現在IntelliJ中使用嵌入式Tomcat服務器運行應用程序時有效。

但是,將應用程序打包到.war文件中並將其部署到Tomcat服務器後,該應用程序無法工作。相反,我得到的例外;

java.io.FileNotFoundException 

異常指向外部jar中找到的類。

當我檢查用於生成.war文件的文件時,我無法在WEB-INF或META-INF文件夾中看到外部jar。

任何形式的幫助或指導將受到高度讚賞。

+0

在spring-boot應用程序中指定「Version」標記並不是一個好主意。 https://docs.spring.io/spring-boot/docs/current/reference/html/using-boot-build-systems.html#using-boot-dependency-management – MAC

回答

0

也許使用maven-install-plugin會工作嗎?

<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> 

您不必如果generatePom設置爲true依賴關係明確定義jar

<generatePom>true</generatePom> 
相關問題