Idea开发Gradle多模块项目踩坑纪实之一:Java模块无法执行

Gradle--快速上手依赖构建Gradle及多模块定制化统一配置实现 【学习背景】 相信学习Java的小伙伴,目前项目中用得最多的两种构建依赖构建方式分别是Maven,两一种是Gradle,至于哪种日出冲天,哪种日薄西山,这个说不准,实际两种都使用得挺多的,只不过Maven会出得早一些,而Gradle是后起之秀,今天就来将一下这个后起之秀Gralde 一、单模块(官方demo) 1.1 生成demo 直接通过SpringBoot官方快速创建一个demo工程 https://start.spring.io/ 将demo工程导入IDEA或Eclipse等集成开发工具,得到的结构 阅读详情

最近尝试了使用Idea尝试使用Gradle开发多模块项目,结果遇到一个见鬼的问题:

首先,总项目是一个空项目。

第二,我首先建立了两个Java模块,然后建立了一个Spring boot程序模块。

当我建立第四个Java模块的时候发现问题了,系统直接生成的Java程序居然不能运行,报告:

Execution failed for task ':cn.edu.cup.Main.main()'.
> Process 'command 'C:\Users\xpli1\.jdks\graalvm-jdk-17.0.12\bin\java.exe'' finished with non-zero exit value 1

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at https://help.gradle.org.
BUILD FAILED in 310ms
2 actionable tasks: 2 executed

这样的错误。

系统生成的样例代码如下:

package cn.edu.cup;

//TIP To <b>Run</b> code, press <shortcut actionId="Run"/> or
// click the <icon src="AllIcons.Actions.Execute"/> icon in the gutter.
public class Main {
    public static void main(String[] args) {
        //TIP Press <shortcut actionId="ShowIntentionActions"/> with your caret at the highlighted text
        // to see how IntelliJ IDEA suggests fixing it.
        System.out.printf("Hello and welcome!");

        for (int i = 1; i <= 5; i++) {
            //TIP Press <shortcut actionId="Debug"/> to start debugging your code. We have set one <icon src="AllIcons.Debugger.Db_set_breakpoint"/> breakpoint
            // for you, but you can always add more by pressing <shortcut actionId="ToggleLineBreakpoint"/>.
            System.out.println("i = " + i);
        }
    }
}

然后,关闭整个项目,单独打开这一模块的时候,运行正常。

通过对比几个模块gradle.build文件的差异发现,其他模块中都有指定Java版本的 句子,添加了这些语句后,成功运行。

具体的语句为:

java {
    // 指定源码和目标代码版本
    sourceCompatibility = JavaVersion.VERSION_17
    targetCompatibility = JavaVersion.VERSION_17
}

分析原因,估计是新建的项目缺省的java版本与整个项目的版本不一致导致的。

IntelliJ IDEA 与 Java 多模块项目开发 在当今的软件开发领域,Java 作为一种广泛使用的编程语言,被应用于各种规模的项目中。随着项目的不断扩大和复杂度的增加,单一模块的项目结构往往难以满足需求,Java 多模块项目应运而生。IntelliJ IDEA 作为一款强大的集成开发环境(IDE),为 Java 多模块项目的开发提供了丰富的功能和便捷的操作。本文的目的在于深入介绍如何使用 IntelliJ IDEA 进行 Java 多模块项目的开发,涵盖了从项目的创建、配置到实际开发过程中的各种操作和技巧。 阅读详情

相关推荐

利用Gradle构建Java多模块项目

    Java新手,准备写个项目来巩固下知识点,在新建项目时不知道选择用什么作为构建工具,Maven肯定用过,只限于使用过,没有系统的去学习。之前做Android开发时用过Gradle来构建项目,也没深入研究过。后来在公司接触过用Gradle构建的java项目,才去深入了解过,描述的是Gradle是作为下一代构建工具,很灵活。我个人觉得这个灵活是体现在配置上,我看了很多使用Gradle构建多模块...

城南孔乙己的专栏 6810

springboot整合gradle,启动报错问题

记录 springboot项目配合gradle启动,报错解决 Execution failed for task ‘:Application.main()’. Process ‘command ‘C:/Java/jdk8/bin/java.exe’’ finished with non-zero exit value 1

JiaWei2438的博客 993

下载安装配置gradle,并使用IDEA创建gradle项目(多模块)【SpringBoot】

构建gradle项目之前,一定要先配置好gradle,再进行构建,否则会发生意想不到的效果。 一、安装配置gradle 下载gradle 首先去官网:https://gradle.org/releases/,然后下载自己想要的版本,这里选择最新版: 下载后直接解压即可。 配置环境变量(Mac实例): GRADLE_HOME为刚刚gradle的解压路径 GRADLE_USER_HOME为本地仓库路径,如果不配置 jar会存放在/Users/xxx/.gradle/caches/module.

γìńɡ雄尐年ぐ的博客 2282

为支持增量编译的Java注解启用Trees API(解决IncrementalProcessingEnvironment 不能 cast为 JavacProcessingEnvironmen)

首先,简述一下让Java的自定义注解支持增量编译的步骤: 在注解模块的 模块\src\main\resources\META-INF\gradle\incremental.annotation.processors 文件中填写: 包名.注解处理器1名称,isolating 包名.注解处理器2名称,isolating 是不是与在 META-INF\serveices\javax.annotation.processing.Processor文件中声明注解处理器很像呢?只不过后面多了,isolating,或者,

sinat_27171121的博客 939

使用Gradle构建多模块SpringBoot项目

使用Gradle构建多模块SpringBoot项目本项目使用Gradle构建SpringBoot项目,将不同的业务进行不同的模块划分(不做微服务与分布式架构); - 编辑器:Intellij IDEA - 构建工具:Gradle3.5 - SpringBoot版本:1.5.8 - 版本管理:GitHub - 个人GitHub地址:https://github.com/fanlongfei0

Mr_DragonFly的博客 5850

使用IDEA创建Gradle多模块SpringBoot项目实战教程

Gradle 是当前 Java 开发中最主流的项目构建工具之一,它融合了 Maven 的依赖管理优势与 Ant 的灵活性,同时基于 Groovy 或 Kotlin DSL 的脚本语法提供了更高的可扩展性和表达能力。在多模块 Spring Boot 项目中,Gradle 的灵活性和插件化架构尤其重要,它能够支持复杂的依赖管理和构建流程定制。本章将深入介绍 Gradle 的基本概念、插件体系结构,以及如何结合 Spring Boot 使用核心插件进行构建。

weixin_42453228的博客 973

JAVA工具篇--1 Idea中 Gradle的使用

Idea中 Gradle的使用

拽着尾巴的鱼儿的博客 2443

lombok-1.18.12or1.18.8.zip

使用lombok,出现Can't get the delegate of the gradle IncrementalProcessingEnvironment 需要最新的包?

Gradle Run with --stacktrace option to get the stack trace

Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

一个程序员的专栏 5601

解决微信浏览器弹出 Download: Null 问题的终极指南(附阿里云 OSS 配置详解)

微信内置浏览器点击下载链接时弹出 "Download: Null" 的问题,是开发者常遇到的痛点。本篇文章全面解析其原因,包括 iOS 文件下载限制、Content-Disposition 响应头的重要性,以及阿里云 OSS 默认配置的影响。通过详细教程,教你如何在阿里云 OSS 中设置 Content-Disposition 元数据(attachment;filename=xxx.pdf),有效解决该问题。同时,拓展介绍微信浏览器的文件下载限制、跨平台兼容性优化以及 CDN 配置注意事项。

楠搏万的博客 3995

Jetson平台XDMA PCIe驱动安装与测试全指南

本文提供了一份在NVIDIA Jetson平台上安装与测试Xilinx FPGA XDMA PCIe驱动的完整指南。详细阐述了驱动作为高速DMA引擎的核心作用,并逐步讲解了从环境准备、驱动编译、内核模块加载到实际数据传输测试的全过程。内容涵盖常见问题排查与性能优化建议,帮助开发者实现Jetson与FPGA间的高速数据通信,适用于自动驾驶、工业视觉等需要异构计算的应用场景。

weixin_29196315的博客 527

SpringBoot+Gradle构建多模块项目

1 概述 Gradle由于构建速度比Maven快,且比Maven灵活,因此很多后端的应用都使用了Gradle进行构建,但一个问题是,Gradle的多模块项目比较难构建,再加上Gradle的更新非常快,这就给构建一个多模块Gradle项目造成了不少的困难。 基于此出发点,本文提供了两种形式的使用Gradle构建的Spring Boot多模块项目: Java + Gradle Kotlin + Gradle + Kotlin DSL 为了减少出现各种错误的概率,步骤做得非常详细(多图预警),文末也附上了源码

氷泠 1万+

钣金设计高薪进阶:从材料工艺到DFMA降本增效全解析

钣金设计是机械制造领域的核心技术之一,它涉及将金属板材通过切割、折弯、焊接等工艺成型为所需零件。其核心原理在于深刻理解材料特性、制造工艺约束与结构力学,以确保设计在功能、成本与可制造性之间取得最佳平衡。这项技术的价值在于,优秀的钣金设计能直接驱动产品降本增效,通过优化材料利用率、简化装配工序和避免设计缺陷,为企业节省大量模具与生产成本。其应用场景广泛,从机箱机柜、汽车部件到电子设备外壳无处不在。本文将聚焦于实现这一价值的关键路径,深入探讨面向制造与装配的设计(DFMA)原则在钣金领域的实战应用,并剖析如何通

weixin_34301132的博客 392

IDEA下Gradle多模块(项目)的构建

IDEA下Gradle多模块项目的构建 我们在新起一个项目的时候,一般都会建多个子项目(IDEA里面称之为Module模块)。通过Gradle构建,多个Module之间需要将公用的配置抽取到全局,子项目中只写差异化的配置,以便于维护。 多模块项目的Gradle目录结构 示例:我的示例项目demo,我需要有一个common模块用于公用代码,...

weixin_34415923的博客 8569

避坑指南:SAP成本中心分割结构配置常见错误及解决(含KA06/KL01前置步骤)

本文深入解析了SAP成本中心会计中分割结构配置的关键步骤与常见错误。重点强调了配置前必须通过KA06创建次级成本要素(类别42)和通过KL01创建活动类型这两个核心前置步骤,并详细剖析了在OKES中定义分割规则及版本时的高频报错原因与解决方案,帮助顾问和运维人员有效规避配置陷阱,确保成本分摊的准确性。

pear55的博客 865

记住这两个纯净版Windows11各系列版本系统下载网站

记住这两个纯净版Windows11各系列版本系统下载网站 HelloWindows是一个完整极致的Windows纯净系统下载站,不夹带任何私货,系统全部来源于微软官方原版,本站只是收录官方发布的系统以及工具,方便大家下载,请放心使用。永久在线:www.hellowindows.cn。HelloWindows.cn - 精校 完整 极致 Windows系统下载仓储站。

拥抱具身智能,昇腾Ascend C 7021

【gradle】idea+gradle 多模块项目创建教程入门例子

前言 详情可参考: Gradle构建多模块项目 项目创建配置 新建项目 选择本地的gradle,保证gradle的版本至少为4或以上。 填写group、artifactid、版本号。 根节点项目创建完毕。 然后,创建多个模块,假设背景为需要进行远程调用的提供者服务,这里以 api 和 web 模块为例, api -模块 新建模块: 模块名称存放位置: 创建成功。 web模块 ...

一名普通码农的菜地 1万+

线性代数 --- 置换矩阵 (Permutation matrix)

置换矩阵 - permutation matrix

松下J27录放机 3万+

JAVA新实战2:Gradle+Springboot多模块项目搭建

本文以将在参照ruoyi若依系统代码架构的基础上进行优化,执行Gradle+Springboot多模块的项目搭建实践,成不成也就讲究着看吧,我们暂且命名为JoJava。开发工具IDE依据采用VSCode。掌握本文后,您可以对MAVEN下的多模块JAVA项目迁移到Gradle中有较直观的掌握,虽然本文以VSCode为开发工具,但核心代码同样适用于IntelliJ IDEA+Gradle。相关代码将持续更新到以下JoJava代码块仓库,免费开放给大家:jojava: 一些常用的java代码块集合。

duihao的专栏 4787

[Dify实战] Bug 自动归因与复现指南生成器-带绑定资源

摘要: 本文介绍如何利用Dify构建"Bug自动归因与复现指南生成器",解决研发测试中的常见痛点。该系统可自动解析Bug信息,结构化输出复现步骤、可能原因、修复建议和回归测试点,显著提升问题处理效率。文章详细阐述了方案流程、Prompt设计要点、输出模板及落地清单,并提供了RCA分析模板和标准复现步骤示例。通过统一Bug描述模板和自动化分析,该系统能有效降低人力成本,加速问题闭环,适用于持续迭代的中大型项目。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 294

第一百三十九回 介绍三个BLE包

本章回中主要介绍了Flutter中BLE的概念和操作方法,主要介绍了三个BLE包的功能和差异,以方便大家在BLE操作中选择不同的包。

talk_8的专栏 574

IDEA + gradle构建多模块的web项目

IDEA + gradle构建多模块的web项目安装gradleJAVA环境(都会的事情就不写了)idea创建多模块工程(以下多图)配置idea中的gradle新建根工程新增web子模块配置gradle配置根工程的build.gradle配置根工程的settings.gradle配置web模块的build.gradle刷新gradle编译CLASS文件启动服务问题记录1. gradle刷新时间长 现在的项目工程几乎都是多模块的,也就是一个根工程目录下按照系统的功能或者职责划分成不同的子工程,然后子工程之间通

技术螃蟹的博客 1739

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

IDEA多模块项目拆解实战:用Gradle管理依赖的5个关键设置

本文分享了在IDEA中将单体应用重构为多模块Gradle项目的实战经验,重点解析了五个关键依赖管理设置,以构建清晰、稳定的项目架构。针对多模块环境下常见的“No cached version available for offline mode”等构建错误,提供了从根项目配置、模块间API暴露到构建缓存与离线模式根治策略的完整解决方案,帮助开发者提升构建效率与项目可维护性。

julia4scientist的博客 760

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

gradle搭建springBoot多模块项目

Gradle是源于Apache Ant和Apache Maven概念的项目自动化构建开源工具,它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置面向Java应用为主。当前其支持的语言暂时有Java、Groovy、Kotlin和Scala。Gradle是一个基于JVM的构建工具,是一款通用灵活的构建工具,支持maven, Ivy仓库,支持传递性依赖管理,而不需要远程仓库或者是pom.xml和ivy.xml配置文件,基于Groovy,build脚本使用Gro

qq_34905631的博客 4061

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

上一篇: Windows下,基于Gradle用Docker发布自己的程序
下一篇: CORS跨域访问的坑
xplidelphi
博客等级 码龄18年 31粉丝 56原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值