You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Framework项目src/main为空,App.java在src根目录问题咨询

Maven项目中src根目录与src/main/java的问题解答

原因分析

  • 要么是创建项目时手动放错了文件位置,没遵循Maven标准目录结构;要么是教程用了简化的演示结构,跳过了标准层级。部分快速初始化工具也可能没自动生成src/main/java目录,导致你直接把代码放在了src根。

对项目的影响

  • Maven编译失败:Maven默认只编译src/main/java下的代码,src根的Java文件不会被mvn compile命令识别,执行构建会提示无可用源码。
  • 资源打包异常:后续添加配置文件、静态资源时,没有标准目录的话,得手动在pom.xml里配置路径,否则这些文件不会被打包到最终产物中。
  • IDE功能失效:IntelliJ、Eclipse这类IDE默认把src/main/java标记为源码根,src根的代码不会被识别为源码,会丢失语法提示、调试运行等功能。

两个目录的核心区别

  • src根目录:是Maven项目的源码容器,本身不是源码目录,标准场景下不会直接存放代码文件。
  • src/main/java:Maven官方规定的主源码目录,所有核心业务Java代码都应该放在这里,Maven编译插件会自动处理该目录下的文件,IDE也会默认识别为源码根。

顺带提下Maven标准结构里的其他关键目录:

  • src/main/resources:存放配置文件、静态资源,会被打包到classpath
  • src/test/java:单元测试代码目录
  • src/test/resources:测试用的配置文件

修复步骤

  1. 手动创建src/main/java目录,把App.java移动到该目录下(注意包结构,比如代码有com.example包,要创建src/main/java/com/example子目录再放文件)
  2. 在IDE中把src/main/java标记为源码根:
    • IDEA:右键目录 → Mark Directory as → Sources Root
    • Eclipse:右键目录 → Build Path → Use as Source Folder

内容的提问来源于stack exchange,提问作者kee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 07:15:01