ruoyi若依框架引入本地jar打不进包解决办法

目录

一、问题

二、错误解决思路

三、真实解决方案

总结


一、问题

ruoyi前后端分离框架,项目中需要引入本地的jar包,但maven打包时却打不进去包。

问题代码

system模块pom.xml文件引用


<dependency>
            <groupId>com.usign</groupId>
            <artifactId>usign-util</artifactId>
            <version>1.1</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/lib/usign-util-1.1.jar</systemPath>
        </dependency>

 此时,本地启动调试都是正常的,但是maven package时,本地的jar包并没有打进去。

二、错误解决思路

system的pom.xml加入了以下代码

<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                    <encoding>${project.build.sourceEncoding}</encoding>
                    <compilerArguments>
                        <extdirs>${project.basedir}/lib/usign-util-1.1.jar</extdirs>
                    </compilerArguments>
                </configuration>
            </plugin>
        </plugins>
    </build>

maven package时,本地的jar包也没有打进去,网上的解决办法是没用的,抛出 should not point at files within the project directory … 警告。

百度吧,大家的解决方法是这样的

移除本地包依赖中的 <scope/> 和 <systemPath/>
<dependency>
  <groupId>ppts.model</groupId>
  <artifactId>ppts-model</artifactId>
  <version>1.0-SNAPSHOT</version>
</dependency>
通过 maven-install-plugin 插件对 jar 包进行安装
<phase>clean</phase> 表示该 jar 包会在执行 clean 操作时引入
<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-install-plugin</artifactId>
  <version>2.5.2</version>
  <executions>
    <execution>
      <id>install-ppts-model</id>
      <phase>clean</phase>
      <configuration>
        <file>${basedir}/../lib/ppts-model-1.0-SNAPSHOT.jar</file>
        <repositoryLayout>default</repositoryLayout>
        <groupId>ppts.model</groupId>
        <artifactId>ppts-model</artifactId>
        <version>1.0-SNAPSHOT</version>
        <packaging>jar</packaging>
        <generatePom>true</generatePom>
      </configuration>
      <goals>
        <goal>install-file</goal>
      </goals>
    </execution>
  </executions>
</plugin>

请大家看清楚,这代码肯定是有问题的,首先移除本地包依赖中的 <scope/> 和 <systemPath/>,本地引用肯定会报错。。。。。太坑了。

三、真实解决方案

1.system模块下建lib把jar文件放进去

2.system模块pom.xml文件引用


<dependency>
            <groupId>com.usign</groupId>
            <artifactId>usign-util</artifactId>
            <version>1.1</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/lib/usign-util-1.1.jar</systemPath>
        </dependency>

3.admin 模块pom.xml build configuration标签下加上:

<includeSystemScope>true</includeSystemScope>

完整代码:

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.1.1.RELEASE</version>
                <configuration>
                    <fork>true</fork> <!-- 如果没有该配置,devtools不会生效 -->
                    <includeSystemScope>true</includeSystemScope>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>   
                <groupId>org.apache.maven.plugins</groupId>   
                <artifactId>maven-war-plugin</artifactId>   
                <version>3.1.0</version>   
                <configuration>
                    <failOnMissingWebXml>false</failOnMissingWebXml>
                    <warName>${project.artifactId}</warName>
                </configuration>   
           </plugin>   
        </plugins>
        <finalName>${project.artifactId}</finalName>
    </build>

 

总结

不要完全相信网上的教程,包括本教程。劝解大家发文章时动手尝试下,大多数都是没有经过验证就抄袭的别人的教程方法。。。。

  • 11
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值