news 2026/8/5 5:01:23

IDEA与Maven项目导入运行全攻略:从环境配置到实战避坑

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
IDEA与Maven项目导入运行全攻略:从环境配置到实战避坑

1. 从零到一:为什么IDEA和Maven是Java开发的黄金搭档

如果你刚开始接触Java企业级开发,或者刚从Eclipse、NetBeans这类IDE转过来,面对IntelliJ IDEA(以下简称IDEA)和Maven这两个庞然大物,心里可能会犯嘀咕:不就是写个Java代码吗,怎么这么麻烦?我刚开始用的时候也是这么想的,总觉得配置环境、导入项目这些前置步骤是在浪费时间,不如直接新建一个Java文件就开始敲代码来得痛快。但踩过几次坑之后,我才彻底明白,IDEA和Maven这套组合拳,解决的远不止是“写代码”的问题,它解决的是“如何高效、规范、可持续地管理一个复杂软件项目”的问题。

你可以把IDEA想象成一个功能极其强大的智能工作台。它不仅仅是个文本编辑器,它集成了代码高亮、智能提示、一键重构、版本控制、调试器、数据库工具等几乎所有你开发时需要的东西。而Maven,则像是一个经验丰富的项目管家和后勤部长。它不关心你具体怎么写代码,它关心的是:你这个项目依赖哪些外部库(比如Spring、MyBatis)?这些库的版本怎么管理才不会冲突?代码写完怎么编译、怎么打包成JAR或WAR文件?项目文档在哪里?测试用例怎么统一运行?Maven通过一个叫做pom.xml的配置文件,把所有这些琐碎但又至关重要的事情标准化、自动化了。

所以,“在IDEA中导入和运行Maven项目”这个操作,本质上是在让智能工作台(IDEA)识别并接管项目管家(Maven)制定好的全套项目规范。一旦完成这个“交接仪式”,你就能在IDEA里享受到Maven带来的依赖自动下载、生命周期命令一键执行等便利,同时又能利用IDEA强大的编码和调试功能,这才是现代Java开发的正确打开方式。网上很多搜索词,像“maven安装与配置”、“idea配置maven”、“maven下载安装与配置”,其实都是为完成这个“交接仪式”所做的准备工作。而“idea创建springboot项目”这类热词,则是因为Spring Boot本质上就是一个预配置了Maven和大量依赖的模板,IDEA对其有深度集成,创建过程其实就是一次高级的“Maven项目导入”。

2. 环境奠基:搞定Maven安装与IDEA的关联配置

在开始导入项目之前,我们必须确保两件事:第一,你的电脑上已经正确安装了Maven;第二,IDEA知道去哪里找到这个Maven。很多新手卡在第一步,就是因为忽略了系统环境的配置,或者IDEA和Maven各用各的,没有关联上。

2.1 Maven的安装与核心配置:不只是下载解压

首先,你需要从Maven官网(通常是maven.apache.org)下载最新稳定版的二进制压缩包(Binary zip archive)。别下成了源码包。下载后,找一个你喜欢的路径解压,比如D:\Tools\apache-maven-3.8.8。这一步很简单,但关键在后面的配置。

接下来要配置系统环境变量,这是为了让任何命令行窗口都能直接使用mvn命令。

  1. 新建系统变量MAVEN_HOME:其值就是你的Maven解压目录,例如D:\Tools\apache-maven-3.8.8
  2. 编辑系统变量Path:在末尾添加%MAVEN_HOME%\bin

配置完成后,打开一个新的命令行窗口(CMD或PowerShell),输入mvn -v并回车。如果能看到Maven的版本号、Java版本等信息输出,恭喜你,Maven安装成功了。如果提示“mvn不是内部或外部命令”,那肯定是Path变量没配置对,回去仔细检查。

安装成功只是第一步,Maven的灵魂在于它的配置文件conf/settings.xml。用文本编辑器打开它,有几个地方我强烈建议你修改:

  • 本地仓库路径:Maven会把所有下载的jar包都存放在本地一个文件夹里,默认在用户目录下的.m2/repository。C盘空间紧张的话,可以改到其他盘。找到<localRepository>标签,取消注释并修改,例如:<localRepository>D:\Maven-Repository</localRepository>
  • 镜像源配置:默认从Maven中央仓库下载,在国内速度可能很慢。我们需要配置阿里云的镜像来加速。在<mirrors>标签内添加:
    <mirror> <id>aliyunmaven</id> <mirrorOf>*</mirrorOf> <name>阿里云公共仓库</name> <url>https://maven.aliyun.com/repository/public</url> </mirror>
    这个配置能极大提升依赖下载速度,是必做操作。

2.2 在IDEA中关联Maven:让IDE和构建工具握手

现在打开你的IDEA(社区版或旗舰版均可)。我们需要告诉IDEA,使用我们刚才配置好的Maven,而不是它自带的那个。

进入File -> Settings(Windows/Linux) 或IntelliJ IDEA -> Preferences(macOS)。

  1. 在搜索框输入“Maven”,找到Build, Execution, Deployment -> Build Tools -> Maven
  2. Maven home path:这里要选择你刚才安装的Maven路径。不要用“Bundled (Maven 3)”,点击右侧的“...”按钮,定位到你解压的目录,例如D:\Tools\apache-maven-3.8.8。选择后,IDEA会自动识别出版本。
  3. User settings file:点击“Override”复选框,然后指向你修改过的那个settings.xml文件,例如D:\Tools\apache-maven-3.8.8\conf\settings.xml。这样IDEA就会使用你配置的本地仓库和镜像源。
  4. Local repository:当你指定了settings.xml后,下面这个本地仓库地址会自动更新为你配置的路径(如D:\Maven-Repository),确认一下即可。

点击“Apply”和“OK”。至此,IDEA和Maven的关联就完成了。你可以理解为,IDEA现在有了一个得力的“外部构建工具”,它会完全按照你配置的Maven规则来管理项目。

3. 项目导入实战:三种常见场景的详细拆解

环境配好了,现在进入核心环节:导入项目。根据你手头项目的来源和状态,导入方式略有不同。我把它分为三种典型场景,基本覆盖了90%的情况。

3.1 场景一:导入本地已存在的Maven项目(最常见)

这是最普遍的情况。你从GitHub、Gitee或者同事那里拿到了一个项目的源代码,它已经是一个完整的Maven项目(根目录下有pom.xml文件)。

  1. 启动IDEA,在欢迎界面点击“Open”,或者如果你已经在项目里,点击File -> Open
  2. 在弹出的文件选择器中,直接定位到包含pom.xml文件的那个项目根目录,选中它,然后点击“OK”。这里有个关键点:不要选到子目录,一定要选最外层的、有pom.xml的目录。
  3. 接下来会弹出一个对话框。强烈建议你选择“Open as Project”,而不是“Open as File”。前者会让IDEA将其识别为一个完整的项目。
  4. 之后可能会弹出第二个对话框,询问你“如何打开这个项目”。这里一定要选择“Open as Maven Project”。这是最关键的一步,告诉IDEA用Maven的方式去解析和理解这个项目。
  5. 点击“OK”后,IDEA就会开始导入。你会在右下角看到进度条,IDEA在做这几件事:
    • 解析pom.xml,构建项目模型。
    • 根据pom.xml中的配置,下载所有依赖的jar包到本地仓库(第一次导入时,如果依赖多,这个过程会比较长,状态栏会显示“Downloading...”)。
    • 根据依赖,建立项目的模块、源代码目录(src/main/java)、资源目录(src/main/resources)、测试目录(src/test/java)等。
    • 索引所有Java类,为代码提示和跳转做准备。

导入后的验证:导入完成后,观察IDEA的右侧边栏,应该会出现一个“Maven”工具窗口(如果没出现,可以点击菜单栏的View -> Tool Windows -> Maven打开)。在这个窗口里,你能看到你的项目名,下面展开就是Maven的生命周期(clean,validate,compile,test,package,install,deploy)和插件(plugins)。点开“Dependencies”,能看到本项目所有的依赖库列表。看到这些,就说明导入成功了。

3.2 场景二:从版本控制系统(如Git)直接克隆并打开

现在很多项目都是直接托管在Git仓库里的。IDEA对此有非常好的集成。

  1. 在IDEA欢迎界面,点击“Get from VCS”
  2. 在版本控制类型中选择Git
  3. 在URL一栏,粘贴你的项目Git仓库地址(HTTPS或SSH格式均可)。
  4. “Directory”选择项目克隆到本地的路径。
  5. 点击“Clone”。IDEA会开始克隆仓库。
  6. 克隆完成后,IDEA会自动检测到这是一个Maven项目(因为它看到了pom.xml),并弹出一个提示框,问你是否要“Trust and Open Project”。点击“Trust Project”。
  7. 之后的过程就和场景一类似了,IDEA会自动将其作为Maven项目打开,并开始下载依赖。

这种方式非常流畅,适合启动新项目或参与开源项目。它把“克隆代码”和“导入Maven项目”两个步骤无缝衔接起来了。

3.3 场景三:在IDEA中从头创建一个新的Maven项目

有时候你需要从零开始搭建一个项目。IDEA也提供了创建Maven项目的模板。

  1. 在欢迎界面点击“New Project”
  2. 在左侧项目类型列表中,选择“Maven”
  3. 右侧需要填写几个关键信息:
    • Name: 你的项目名称,比如demo-project
    • Location: 项目存放的本地路径。
    • GroupId: 通常用公司或组织域名的反写,如com.yourcompany。这是Maven坐标的一部分。
    • ArtifactId: 项目模块名,通常和Name一致或相关,如demo。这也是Maven坐标的一部分。
    • Version: 项目版本,默认1.0-SNAPSHOT(快照版)即可。
  4. 点击“Create”。IDEA会为你生成一个标准的Maven项目结构,包含一个最简单的pom.xml和一个src/main/java目录。

这种方式创建的实际上是一个最基础的、空的Maven项目骨架。你需要在此基础上,手动在pom.xml中添加你需要的依赖(比如Spring Boot、MyBatis等),然后创建你的包和类。对于初学者,我反而更推荐使用“Spring Initializr”(如果安装了Spring插件)来创建Spring Boot项目,因为它本质上也是一个高度定制化的Maven项目,并且帮你预填好了大量常用依赖,省心很多。这也就是热词“idea创建springboot项目”背后的常用方法。

4. 运行与调试:不止于点击绿色三角

项目成功导入后,左侧项目结构树应该是清晰的,右侧Maven工具窗口也列出了所有命令。那么,如何运行这个Maven项目呢?这取决于你的项目类型。

4.1 运行普通的Java应用(含main方法)

如果你的项目是一个简单的Java应用,包含一个public static void main(String[] args)方法。

  1. 最直接的方法:在IDEA编辑器中,找到这个包含main方法的类,在代码编辑区左侧,对应main方法的那一行,你会看到一个绿色的“运行”三角图标。点击它,选择“Run ‘YourClassName.main()’”。IDEA会自动创建一个运行配置并执行。
  2. 通过Maven命令运行:有些项目可能通过exec-maven-plugin等插件来定义启动类。你可以在右侧Maven工具窗口中,展开“Plugins” -> “exec”,双击“exec:java”来运行。但这种方式不如第一种直观和方便调试。

4.2 运行Web应用(如Spring Boot)

这是目前最主流的场景。Spring Boot项目内嵌了Tomcat等Servlet容器,运行方式非常统一。

  1. 找到主启动类:Spring Boot项目通常有一个标注了@SpringBootApplication的类,里面包含main方法。
  2. 直接运行:和普通Java应用一样,点击这个main方法旁边的绿色三角运行即可。IDEA会启动内嵌服务器,并在控制台(Run窗口)输出启动日志。看到类似“Tomcat started on port(s): 8080”的日志,就说明启动成功了。
  3. 通过Maven运行:你也可以在Maven工具窗口中,找到生命周期(Lifecycle)里的spring-boot:run命令并双击执行。这是Spring Boot Maven插件提供的目标,效果和直接运行main方法基本一致。有时候在命令行环境下(比如在服务器上),我们就会用mvn spring-boot:run来启动。

4.3 执行Maven生命周期命令:编译、打包、测试

日常开发中,除了运行项目,我们经常需要执行Maven的其他命令。

  • mvn compile:编译项目主代码。你可以在Maven工具窗口的Lifecycle里双击compile。通常IDEA会自动编译,不需要手动执行。
  • mvn test:运行所有测试用例。这是保证代码质量的关键步骤。双击test,IDEA会在Run窗口显示测试结果,绿色代表通过,红色代表失败。
  • mvn package:打包项目。这是非常重要的一步。对于普通项目,它会生成JAR包;对于Web项目,它会生成WAR包。生成的包位于target目录下。你可以双击package执行,成功后去target文件夹查看。
  • mvn clean:清理target目录,删除所有编译和打包产生的文件。在重新打包或解决一些缓存问题时常用。
  • mvn install:将项目打包并安装到本地仓库。这样,你本地其他Maven项目就可以像引用第三方库一样引用这个项目的JAR包了。

所有这些命令,你都可以在右侧Maven工具窗口中,通过双击对应的生命周期阶段来轻松执行。IDEA会打开一个专门的“Maven”运行窗口来显示命令执行过程和结果,非常清晰。

4.4 调试技巧:让问题无所遁形

仅仅能运行还不够,我们更需要能调试。IDEA的调试器和Maven项目结合得天衣无缝。

  1. 以调试模式启动:同样是点击main方法旁边的图标,但这次选择绿色的“虫子”图标(Debug),而不是绿色的三角(Run)。
  2. 设置断点:在你关心的代码行左侧点击,会出现一个红色圆点,这就是断点。
  3. 触发调试:当程序运行到断点处时,会自动暂停。此时,你可以:
    • 在“Debug”工具窗口的“Variables”视图里,查看所有变量的当前值。
    • 在“Watches”里添加表达式,实时计算其值。
    • 使用工具栏的按钮(Step Over, Step Into, Step Out, Resume Program)来控制程序一步步执行。
  4. 调试Web请求:对于Spring Boot Web应用,以Debug模式启动后,当你在浏览器或Postman中发送一个HTTP请求,如果请求路径经过你打了断点的代码行,程序同样会暂停,让你可以检查请求参数、Session、数据库查询结果等一切信息。

掌握调试,是定位和解决复杂问题的终极武器。它比打印日志(System.out.println)要高效和精确得多。

5. 避坑指南与高级配置:解决那些让人头疼的问题

即使按照步骤操作,你也可能会遇到一些奇怪的问题。下面是我总结的几个高频坑点和解决方案。

5.1 依赖下载失败与仓库配置

这是新手遇到最多的问题,控制台一片红色,全是“Could not transfer artifact...”。

  • 问题根因:网络连接不到Maven中央仓库,或者仓库里没有你指定的依赖版本。
  • 解决方案
    1. 检查镜像源:确保你的settings.xml里正确配置了阿里云镜像(如2.1节所述)。这是首要检查项。
    2. 检查依赖坐标:去Maven中央仓库官网或阿里云仓库页面,搜索你pom.xml里写的groupId,artifactId,version,看看这个版本是否真实存在。有时候是版本号写错了。
    3. 清理本地仓库:偶尔本地仓库的依赖包下载不完整或损坏。可以找到本地仓库目录(如D:\Maven-Repository),手动搜索并删除出问题的依赖文件夹(例如com/google/guava/guava),然后让IDEA重新下载。
    4. 检查IDEA设置:确认IDEA的Maven配置(Settings里)指向的是你修改过的settings.xml,并且“Local repository”路径正确。

5.2 编码问题与乱码

编译或运行时,控制台出现中文乱码,或者提示“编码GBK的不可映射字符”。

  • 问题根因:项目源文件编码、Maven编译插件使用的编码、IDEA控制台输出编码三者不一致。常见于Windows系统,默认编码是GBK,而项目源文件是UTF-8。
  • 解决方案
    1. 统一项目编码:在IDEA中,点击File -> Settings -> Editor -> File Encodings,将“Global Encoding”、“Project Encoding”和“Default encoding for properties files”全部设置为UTF-8。同时确保底部“Transparent native-to-ascii conversion”为勾选状态(针对properties文件)。
    2. 配置Maven编译插件:在项目的pom.xml中,显式配置maven-compiler-plugin,指定编码。
      <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <source>1.8</source> <!-- 你的Java版本 --> <target>1.8</target> <encoding>UTF-8</encoding> <!-- 关键配置 --> </configuration> </plugin> </plugins> </build>
    3. 修改IDEA运行配置的虚拟机参数:对于运行/调试的配置,可以添加-Dfile.encoding=UTF-8。在运行配置的“VM options”栏里加上即可。

5.3 依赖冲突

项目启动报NoSuchMethodError,ClassNotFoundExceptionNoClassDefFoundError,但明明依赖已经引入了。

  • 问题根因:项目间接引入了同一个库的多个不同版本,Maven默认选择了其中一个,但这个版本可能缺少你代码中调用的方法或类。
  • 解决方案
    1. 使用Maven命令分析:在项目根目录打开终端,运行mvn dependency:tree。这个命令会以树形结构打印出所有依赖及其传递关系。仔细查找冲突的库,看是哪个依赖引入了你不想要的版本。
    2. 在IDEA中查看:在右侧Maven工具窗口,点击图标“Show Dependencies”(或者右键项目 -> Maven -> Show Dependencies)。会打开一个依赖关系图,冲突的依赖会以不同颜色显示。你可以在这里手动排除冲突。
    3. pom.xml中排除传递依赖:找到引入冲突版本的直接依赖,在其<dependency>标签内添加<exclusions>
      <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> </exclusion> </exclusions> </dependency>
    4. 统一版本管理:对于Spring Boot项目,最佳实践是使用spring-boot-dependencies提供的依赖管理,它已经为大量常用库定义了兼容的版本。非Spring Boot项目,可以在<dependencyManagement>中统一声明版本。

5.4 IDEA不识别Maven项目

导入后,项目文件夹图标是普通的,没有变成蓝色的Maven模块图标,右侧也没有Maven工具窗口。

  • 问题根因:IDEA没有正确识别该项目为Maven项目。
  • 解决方案
    1. 在项目视图中,右键点击项目根目录下的pom.xml文件。
    2. 在弹出菜单中,选择“Add as Maven Project”。IDEA会重新读取这个pom.xml并将其识别为Maven模块。
    3. 如果还不行,可以尝试File -> Close Project关闭项目,然后重新用“Open”方式,并确保选择了“Open as Maven Project”。

6. 提升效率:IDEA中Maven相关的高级操作与插件

当你熟悉了基本操作后,下面这些技巧能让你和Maven的协作更加丝滑。

6.1 使用Maven工具窗口进行高效操作

右侧的Maven工具窗口是你的控制中心。

  • 快速执行命令:双击生命周期中的任何阶段(clean,compile,package等)即可执行。比手动敲命令快得多。
  • 跳过测试:在打包时,如果不想运行耗时很长的单元测试,可以勾选窗口顶部工具栏的“Skip Tests”图标(一个带斜杠的绿色试管),然后再执行package。或者,在运行配置的“Command line”里加上-DskipTests
  • 查看依赖图:点击“Show Dependencies”图标,可视化查看依赖关系,排查冲突非常方便。
  • 运行插件目标:所有在pom.xml中定义的插件(plugins)及其目标(goals)都会在这里列出,可以直接运行。

6.2 活用“Run Anything”快速执行Maven命令

在IDEA中,连续按两次Shift键,会弹出“Run Anything”窗口。在这里直接输入Maven命令,比如mvn clean compile,IDEA会自动识别并为你创建临时的运行配置来执行它。这对于执行一些不常用的、自定义的插件目标特别方便。

6.3 配置模板与代码生成

Maven有一些插件可以根据模板快速生成代码结构。

  • maven-archetype-plugin:可以通过mvn archetype:generate交互式地选择各种项目原型(Archetype)来生成项目骨架。IDEA在创建新Maven项目时,其实就内置了这个功能,你可以选择不同的Archetype。
  • mybatis-generatorhibernate-tools:可以根据数据库表自动生成实体类、Mapper接口和XML文件。这些都需要在pom.xml中配置插件,并指定配置文件。虽然初次配置稍复杂,但一旦配好,对于大量表结构的项目,能节省巨量的重复编码时间。

6.4 多模块项目的管理

企业级项目通常是多模块的(Multi-Module)。一个父项目(pom.xml<packaging>pom)下包含多个子模块。

  • 导入:和导入单模块项目一样,直接打开父项目根目录(包含父pom.xml的目录)即可。IDEA会自动识别所有子模块。
  • 运行:你可以选择在父模块上执行Maven命令(如clean install),这会作用于所有子模块。也可以右键点击某个子模块,选择“Run Maven -> …”,单独对这个模块进行操作。
  • 依赖:子模块之间的依赖,直接在子模块的pom.xml中声明即可,Maven会自动处理。

掌握在IDEA中导入和运行Maven项目,是Java开发者的一项基础且核心的技能。它远不止是点击几个按钮,而是理解现代Java项目基于“约定大于配置”的标准化管理思想。整个过程的关键在于确保Maven本身安装配置正确,然后让IDEA无缝对接它。遇到问题,十有八九出在环境配置、网络仓库或依赖冲突上,按照本文的避坑指南一步步排查,基本都能解决。当你熟练之后,这套流程会成为肌肉记忆,让你能把更多精力集中在业务逻辑的实现上,而不是浪费在项目构建和环境配置的泥潭里。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/5 4:59:29

基于WorkBuddy构建AI社群分析工具:从信息过载到智能洞察

1. 项目缘起&#xff1a;当社群运营的“信息过载”遇上AI做社群运营的朋友&#xff0c;或者自己管理过几个活跃微信群、Discord服务器的朋友&#xff0c;一定对这种感觉不陌生&#xff1a;每天成百上千条消息刷屏&#xff0c;你隐约觉得里面藏着用户的需求、产品的槽点、甚至是…

作者头像 李华
网站建设 2026/8/5 4:59:24

深入解析K8s调度器:从核心原理到生产环境优化实践

1. 从“能跑就行”到“跑得更好”&#xff1a;为什么我们需要关注K8s调度如果你刚开始接触Kubernetes&#xff0c;或者只是用它来跑几个简单的测试应用&#xff0c;那么你对“调度”这个词可能没什么感觉。毕竟&#xff0c;大部分时候&#xff0c;你写好一个Deployment的YAML文…

作者头像 李华
网站建设 2026/8/5 4:50:20

墨迹天气 API 参数地图:四种查询模式与响应字段逐项拆解

墨迹天气接口覆盖实况、预报、空气质量、生活指数与历史数据&#xff0c;一次调用即可拿到一个城市的多维天气信息。它的参数设计并不复杂&#xff0c;但四种查询模式的组合规则、日期参数的边界条件&#xff0c;以及服务端缓存策略&#xff0c;直接影响接入代码的健壮性。本文…

作者头像 李华
网站建设 2026/8/5 4:49:34

芯片封装形式全解析:从DIP到BGA,硬件设计与AI时代SOP新应用

1. 项目概述&#xff1a;为什么我们需要看懂芯片的“外衣”&#xff1f;刚入行那会儿&#xff0c;我对着电路板上密密麻麻、形态各异的芯片&#xff0c;总是一头雾水。为什么有的芯片长着两排“蜈蚣脚”&#xff0c;有的背面却光溜溜的&#xff0c;还有的像一块小饼干&#xff…

作者头像 李华
网站建设 2026/8/5 4:49:26

从Github趋势榜洞察2026技术演进:从框架创新到生态深耕

1. 从“趋势榜”到“风向标”&#xff1a;一份榜单的深层价值每周一&#xff0c;当Github的Trending页面刷新&#xff0c;全球数百万开发者都会不约而同地打开这个页面。表面上看&#xff0c;这只是一个按星标增长数自动排序的项目列表&#xff0c;但在我十多年的技术观察与实践…

作者头像 李华
网站建设 2026/8/5 4:47:46

U-Net模型进化:从医学影像到通用分割的五大改进方向与实践指南

1. 从“U型”到“万型”&#xff1a;一个经典分割模型的进化之路 如果你在计算机视觉&#xff0c;特别是图像分割领域摸爬滚打过几年&#xff0c;那么“U-Net”这个名字对你来说&#xff0c;可能熟悉得像一位老同事。2015年&#xff0c;当那篇名为《U-Net: Convolutional Netwo…

作者头像 李华