IDEA SpringBoot项目引入外部jar并打包

1、首先,我们再pom.xml中导入依赖包时,打包可以正常进行。
但如果我们引入了第三方的外部jar包(这里需要先把jar包添加到该项目依赖库中,这里不做演示),如图
第三方jar包
2、导致打包时报错,程序包不存在或找不到符号,如图
在这里插入图片描述
3、这里我们需要改写pom.xml(其实和引入普通jar包差不多)

<dependency>
            <!--groupId 随便填写 -->
            <groupId>sdk</groupId>
            <!--artifactId 随便填写-->
            <artifactId>java</artifactId>
            <!--version 随便填写-->
            <version>1.2.0</version>
            <!-- scope=system表示此依赖是来自外部jar,而不是maven仓库。当scope设置为system时,systemPath属性才会生效,systemPath为一个物理文件路径,来指定依赖的jar其物理磁盘的位置。 -->
            <scope>system</scope>
            <!-- ${project.basedir}代表根目录 -->
            <systemPath>${project.basedir}/lib/sdk-java-1.2.0.jar</systemPath>
        </dependency>

添加完之后,代码中就可以使用到该jar里的类和方法,但是到这里还没完。

4、上一步仅仅是引用到了项目里,打包的时候是不会打包到jar/war中的。需要在pom.xml的加入以下配置.

 <resources>
            <resource>
                <!-- directory 表示取该目录下的文件 -->
                <directory>lib</directory>
                <!--targetPath 指定打包到哪个目录下  默认是放到class目录下-->
                <targetPath>/BOOT-INF/lib/</targetPath>
                <!-- 取符合格式的所有文件  *代表全部 -->
                <includes>
                    <include>**/*.jar</include>
                </includes>
            </resource>
        </resources>

5、最后终于成功了!!!
在这里插入图片描述
6、我们看一下jar包中的内容,很显然我们引入的第三方jar包也被我们打包进来了。
在这里插入图片描述

### 将 Spring Boot 项目通过 IDEA 打包为 EXE 文件 目前,Spring Boot 默认支持生成 JAR 或 WAR 格式的可执行文件[^2]。然而,如果目标是将 Spring Boot 应用程序打包为 Windows 平台上的 EXE 可执行文件,则需要借助第三方工具或框架来实现这一功能。 以下是具体方法: #### 方法一:使用 Launch4j 工具 Launch4j 是一种开源工具,可以将 Java 的 JAR 文件封装为 Windows 上的 EXE 文件。操作流程如下: 1. **生成 JAR 文件** 使用 Maven 或 Gradle 插件,在 IntelliJ IDEA 中构建 Spring Boot 项目生成可执行的 JAR 文件。例如,Maven 构建命令如下: ```bash mvn clean package ``` 2. **下载安装 Launch4j** 访问 [Launch4j 官方网站](http://launch4j.sourceforge.net/) 下载最新版本,按照说明完成安装。 3. **配置 Launch4j** 启动 Launch4j 软件后,设置以下参数: - Output file: 设置生成的目标 EXE 文件路径。 - Jar: 指定上一步生成的 JAR 文件路径。 - Class path: 如果有额外依赖项,需在此处指定。 - JVM options 和其他高级选项可根据需求调整。 4. **生成 EXE 文件** 配置完成后点击“Build wrapper”,即可生成对应的 EXE 文件。 #### 方法二:使用 jpackage (Java 14+ 提供的功能) 自 JDK 14 开始,Oracle 引入了一个名为 `jpackage` 的新工具,用于简化 Java 应用程序向原生平台应用程序的转换过程。 1. **确保环境满足条件** 确认已安装 JDK 14 或更高版本,将其 PATH 添加至系统变量中。 2. **编译打包 Spring Boot 项目** 类似于上述步骤,先通过 Maven/Gradle 构建生成完整的 JAR 文件。 3. **运行 jpackage 命令** 利用以下命令行指令创建 EXE 文件: ```bash jpackage --type exe --input target/ --name MyAppName --main-jar my-springboot-app.jar ``` 参数解释: - `--type`: 输出的应用程序类型(此处为 exe)。 - `--input`: 输入目录,通常指向包含最终 JAR 文件的位置。 - `--name`: 设定生成的 EXE 名称。 - `--main-jar`: 明确指出主 JAR 文件名。 注意:此方法可能涉及更多复杂的配置细节,尤其是当项目存在大量外部库时[^3]。 #### 总结 虽然 Spring Boot 主要设计用来生产跨平台兼容性强的 JAR/WAR 文件,但借助像 Launch4j 这样的辅助工具或者现代 JDK 自带特性如 jpackage,完全可以达成制作独立 EXE 文件的目的。不过需要注意的是,这种方式可能会增加部署复杂度以及维护成本。 ```python # 示例 Python 片段展示如何调用子进程执行 jar 包 import subprocess subprocess.run(["java", "-jar", "myapp.jar"]) ```
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

肉丝不切片

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值