欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java引用本地jar包报错

程序员文章站 2024-02-07 22:49:22
...

由于项目要做阿里会员通,所以定制了taobao的sdk,需要在工程中手动引入,文件路径如下:java引用本地jar包报错

开发工具使用的idea,所以使用idea的配置引入jar包,配置如下:

java引用本地jar包报错

但是工程打包的时候,依旧提示程序包com.taobao.api不存在,报错如下

java引用本地jar包报错

刚开始是以为缓存的原因,但是清理缓存之后依旧没发解决,最后,决定修改pom文件,引用本地jar包,配置如下:

<dependency>
    <groupId>com.taobao</groupId>
    <artifactId>taobaoapi</artifactId>
    <version>2.0.0</version>
    <scope>system</scope>
    <systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/taobao-sdk-java-auto_1582030266166-20200218.jar</systemPath>
</dependency>

再次打包,发现完美解决

注意:本地jar包不会自动打包,所以修改打包配置,如下

<build>
        <finalName>***</finalName>
        <plugins>
            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <descriptors>
                        <!-- 指定打包插件的配置文件位置 -->
                        <descriptor>src/main/assembly/assembly.xml</descriptor>
                    </descriptors>
                </configuration>
                <executions>
                    <execution>
                        <id>make-assembly</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>2.4</version>
                <configuration>
                    <!-- 打jar包时,排除xml和资源文件,因为会将这些文件打到conf目录下 -->
                    <excludes>
                        <exclude>**/*.properties</exclude>
                        <exclude>**/*.yml</exclude>
                    </excludes>
                </configuration>
            </plugin>
        </plugins>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
            </resource>
            <resource>
                <directory>src/main/webapp</directory>
                <targetPath>/WEB-INF/lib/</targetPath>
                <includes>
                    <include>**/*.jar</include>
                </includes>
            </resource>
        </resources>
    </build>