Building 3rd party JARs in Spring (Maven project)

Marcos Henrique - Mar 19 '20 - - Dev Community

I had an external .jar that cannot be imported from public repositories using pom.xml, it's XPTO.jar.

I was able to run the project locally from my IDE and everything worked perfectly. Refer to the library after downloading it as follows:



<dependency>
<groupId>com.xpto.lib</groupId>
<artifactId>XPTO</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${basedir}/lib/XPTO.jar</systemPath>
</dependency>

Enter fullscreen mode Exit fullscreen mode




When I run mvn clean package to create my .jar file and try to run the created .jar, an error will pop up.

I was facing this error and about getting crazy before finding this solution.

Miracle Solution 🙆‍♂️🙆‍♀️

In your pom.xml just add this <includeSystemScope>true</includeSystemScope> like this



<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<classifier>exec</classifier>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
</plugins>

Enter fullscreen mode Exit fullscreen mode




The IDE can easily see the scope of the system by default, however when generating our build we have to force the maven to see this same scope.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Terabox Video Player