Springboot打成war包,maven引入外部jar包

工作需求完成二维码的功能,我现在把工具类搬迁到自己的项目中,但是开发工具和项目环境不一样。自己项目是idea中打成war包的springboot的项目。公司的是传统的spring项目,非maven管理。在搬迁工具类时遇到了问题,将工作中的工具类按照idea传统的方式添加jar包,但是却没有添加到项目编译的war中。然后项目启动之后,一直报错———java.lang.ClassNotFoundException。下面就演示下我自己怎么解决这个问题的。

1.项目下创建lib的文件夹,将相应需要导入的本地jar包放入:

      


2.使用maven添加这些jar包,运行之后,这些jar包就会被导入了,但是只是却没有引入到编译的war文件中,直接运行项目,在访问相对应的请求,即代码中使用了相关的jar包的内容,就会报错:

<dependency>
   <groupId>qrcode-1.0</groupId>
   <artifactId>qrcode-1.0</artifactId>
   <version>0.0.1-SNAPSHOT</version>
   <scope>system</scope>
   <systemPath>
      ${project.basedir}/lib/qrcode-1.0.jar
   </systemPath>
</dependency>

<!--<dependency>-->
   <!--<groupId>gson-2.2.4</groupId>-->
   <!--<artifactId>gson-2.2.4</artifactId>-->
   <!--<version>0.0.1-SNAPSHOT</version>-->
   <!--<scope>system</scope>-->
   <!--<systemPath>-->
      <!--${project.basedir}/src/main/resources/lib/gson-2.2.4.jar-->
   <!--</systemPath>-->
<!--</dependency>-->

<dependency>
   <groupId>zxing-2.2</groupId>
   <artifactId>zxing-2.2</artifactId>
   <version>0.0.1-SNAPSHOT</version>
   <scope>system</scope>
   <systemPath>
      ${project.basedir}/lib/zxing-2.2.jar
   </systemPath>
</dependency>

3.将对应的jar包引入到编译的war文件下WEB-INF中lib中,这边是借助了maven,在maven打成war的代码中添加这些个代码(红色):

<plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-war-plugin</artifactId>
   <configuration>
      <failOnMissingWebXml>false</failOnMissingWebXml>
      <webResources>
         <resource>
            <directory>lib</directory>
            <targetPath>WEB-INF/lib/</targetPath>
            <includes>
               <include>**/*.jar</include>
            </includes>
         </resource>
      </webResources>
   </configuration>
</plugin>

4.操作maven进行clean->install-package,也可以用idea字典的编译war包:


到这边就已经解决了war包编译中,添加本地jar包的实例。

后续再学习maven编译成jar包的操作。主要自己没有用过编译jar包。。。。

猜你喜欢

转载自blog.csdn.net/qq_36633149/article/details/79926547