Intelij Idea引入Java Jar包

本文详细描述了如何在Java项目中引入未通过Maven坐标管理的Jar包,包括文件操作、在IDE中启用、配置pom.xml以systemScope引入、以及打包时确保Jar包包含的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

有些时候,因为各种各样的原因我们没办法通过maven坐标来引入Jar包,只能通过源文件来引入Jar包,下面就是如何引入Jar包的详细步骤。

准备

你需要准备的东西很简单,一个Jar的源文件,一个Java工程,一个部署环境(可选)

文件写到工程中

如图,在工程中创建libs文件夹,然后将Jar包源文件复制到libs文件夹中。
在这里插入图片描述

Jar包在Intelij Idea中生效

上面我们引入的Jar包并不能查看里面的类和代码,这里需要通过Jar引入的方式让Jar在Intelij Idea中生效,操作如下:
在这里插入图片描述
在这里插入图片描述
第三步之后选择这里的Java选项会拉起“文件选择器”,选择刚才我们复制到libs文件夹中的文件,然后点击 Apply和OK。
在这里插入图片描述
此时你会看到已经可以在Idea中查看Jar包的代码了。
在这里插入图片描述

Jar包在工程中生效

上面只是将Jar包放在了工程中并且能用Intelij Idea能查看Jar包中的代码而已,当我们在工程中使用Jar包中的类时会发现还是找不到。
这个时候就需要我们使用pom的方式引入到工程中,配置如下:

<dependencies>
    <dependency>
        <groupId>local</groupId>
        <artifactId>local-jar</artifactId>
        <version>1.0</version>
        <scope>system</scope>
        <systemPath>${project.basedir}/../libs/test-code.jar</systemPath>
    </dependency>
</dependencies>

注意,在systemPath中,${project.basedir}/…/libs/test-code.jar 这样的路径。${project.basedir} 代表当前模块的目录,…/libs/test-code.jar代表从当前模块的目录向上一级,然后进入"libs"文件夹,找到jar包。另外这里的 groupId和artifactId只是maven库里的坐标没有实际意义,可以随便写。
然后,你就可以正常地使用这个jar包中的类和方法了。

maven打包时将libs文件打进去

上面虽然可以在工程中使用Jar中类,但是当你打包部署的时候就会发现,libs中的Jar包还是没有引入,运行时报类找不到的异常。
使用system作用域的依赖在打包时并不会被包含到最终的jar或war文件中。这是因为system作用域的依赖通常是指向JDK自带的或者系统类库的jar,而这些jar在目标系统中通常已经存在,所以没有必要包含到打包文件中。

如果你确定这个jar必须要被包含到打包文件中,需要使用一个插件来实现,如maven-assembly-plugin或maven-shade-plugin。这些插件可以创建一个包含所有依赖的"fat jar",解决依赖缺失的问题。pom.xml配置如下:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
            <version>3.2.4</version>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>shade</goal>
                    </goals>
                    <configuration>
                        <minimizeJar>true</minimizeJar>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

结语

至此,解决了一个Jar包从复制,查看,代码引入,代码部署的所有流程。如果有帮助点个赞呗。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值