使用idea 2019-2时maven加入依赖不起作用

这个问题是由于版本不兼容所致,idea-2可以使用maven3.6.1及以下版本,这个问题便可解决。

<think>我们结合用户提供的引用和问题,用户的核心需求是:在IntelliJ IDEA中,向项目的lib目录添加非Maven管理的第三方JAR包(如naga-3.0.jar),并在Maven项目中使用spring-boot-maven-plugin插件进行打包,确保该第三方JAR被打包进去。 根据引用[1]中的经验,用户之前通过IDEA的Project Structure添加非Maven JAR包,但是在Maven打包找不到。后来通过在pom.xml中直接添加本地依赖(system scope)解决了编译问题,但在打包由于spring-boot-maven-plugin默认不会包含system scope的依赖,导致没有打入JAR包。最后通过配置spring-boot-maven-plugin的includeSystemScope为true解决。 具体步骤如下: 1. 将非MavenJAR包(例如naga-3.0.jar)放在项目根目录下的lib文件夹中(如果没有则创建)。 2. 在pom.xml文件中添加该JAR包的依赖,指定system范围,并设置systemPath指向该JAR文件。 3. 配置spring-boot-maven-plugin插件,添加<includeSystemScope>true</includeSystemScope>,以确保system范围的依赖被打包进去。 引用[2]提到,如果spring-boot-maven-plugin插件报红(版本问题),可以指定一个明确的版本,然后reload项目。 引用[3]提到了使用dockerfile-maven-plugin插件,但用户的问题与此无关,暂忽略。 因此,我们给出如下步骤: 步骤1:将JAR包放入lib目录 - 在项目根目录下创建lib文件夹(如果不存在),将第三方JAR包(例如naga-3.0.jar)放入其中。 步骤2:在pom.xml中添加依赖 ```xml <dependencies> <!-- 其他依赖 --> <dependency> <groupId>com.example</groupId> <!-- 可以自定义,通常用公司域名反转 --> <artifactId>naga</artifactId> <version>3.0</version> <scope>system</scope> <systemPath>${project.basedir}/lib/naga-3.0.jar</systemPath> </dependency> </dependencies> ``` 步骤3:配置spring-boot-maven-plugin插件 ```xml <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>2.6.7</version> <!-- 选择一个版本,如引用[2]所示 --> <configuration> <includeSystemScope>true</includeSystemScope> </configuration> </plugin> </plugins> </build> ``` 步骤4:重新加载Maven项目 -IDEA中,右键点击pom.xml文件,选择Maven->Reload Project,或者点击Maven工具栏的刷新按钮。 步骤5:打包 - 执行Maven命令:`mvn clean package`,或者通过IDEAMaven工具窗口执行。 这样,打包后的Spring Boot应用程序(通常是可执行的JAR)就会包含lib目录下的第三方JAR包。 注意:使用system scope的依赖在项目移植需要注意,因为该路径是绝对路径(这里使用了${project.basedir},所以是相对于项目根目录),如果其他开发者的环境不同(比如没有将JAR放在同样的位置),可能会导致问题。因此,建议在团队协作中,尽量将第三方JAR安装到本地Maven仓库或使用Nexus等私服。 但是,如果由于某些原因不能安装到仓库,这种方法是一个可行的解决方案。 另外,引用[2]提到指定spring-boot-maven-plugin版本,我们在步骤3中已经指定(2.6.7),以避免插件报红。 如果用户还没有在pom.xml中声明spring-boot-maven-plugin,那么按照步骤3添加即可;如果已经存在,则只需要添加<configuration>部分。 最后,我们生成相关问题: §§相关问题§§ 1. 如何将非MavenJAR包安装到本地Maven仓库? 2. 除了使用system scope,还有其他方法在Maven项目中引入本地JAR包吗? 3. spring-boot-maven-plugin插件的其他常用配置有哪些? </think>在 IntelliJ IDEA使用 `spring-boot-maven-plugin` 打包本地 lib 目录下的非 Maven JAR 包,需按照以下步骤操作: ### 步骤 1:添加本地 JAR 依赖 在 `pom.xml` 中声明 `system` 作用域的依赖,指向项目中的 lib 目录: ```xml <dependencies> <!-- 其他依赖 --> <dependency> <groupId>com.example</groupId> <!-- 自定义组ID --> <artifactId>naga</artifactId> <!-- 自定义JAR名称 --> <version>3.0</version> <!-- 自定义版本 --> <scope>system</scope> <systemPath>${project.basedir}/lib/naga-3.0.jar</systemPath> <!-- 路径 --> </dependency> </dependencies> ``` > 📌 **路径说明**:`${project.basedir}` 表示项目根目录,需确保 JAR 文件位于 `项目根目录/lib/` 下[^1]。 ### 步骤 2:配置打包插件 在 `pom.xml` 的 `<build>` 中配置插件,**关键点**是添加 `includeSystemScope` 参数: ```xml <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>2.6.7</version> <!-- 指定版本避免报错 --> <configuration> <includeSystemScope>true</includeSystemScope> <!-- 包含本地JAR --> </configuration> </plugin> </plugins> </build> ``` > ️ **必须配置**:`<includeSystemScope>true</includeSystemScope>` 确保本地 JAR 被打包[^1]。 ### 步骤 3:重新加载项目 1. 右键点击 `pom.xml` → **Maven** → **Reload Project** 2. 或点击 IDEA 右侧 Maven 工具栏的刷新按钮 🔄 ### 验证打包结果 执行以下命令检查 JAR 是否包含: ```bash mvn clean package ``` 解压生成的 `target/*.jar` 文件,检查 `BOOT-INF/lib/` 目录下是否包含 `naga-3.0.jar`。 --- ### 常见问题解决 - **插件报红**:检查插件版本是否有效(如使用 2.6.7)[^2]。 - **JAR 未打入包**:确认 `includeSystemScope` 已设为 `true`[^1]。 - **路径错误**:确保 `systemPath` 中的路径与项目结构一致。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值