java - 最初构建 Spring Boot 模块时,我的 iml 文件中的 sourceFolder 不正确
问题描述
所以我设置了我最初的 spring-boot 项目:
然后在 IntelliJ 中,我构建了 rest-service 模块,我的结构更改为:
然后,如果我尝试运行该项目,mvn spring-boot:run
我会收到错误消息:
[ERROR] Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:2.2.2.RELEASE:run (default-cli) on project rest-service: Unable to find a suitable main class, please add a 'mainClass' property -> [Help 1]
所以我必须进入我的 rest-service.iml 文件,并改变它:
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
对此:
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
我的问题是,我最初是否错误地设置了项目?
解决方案
您的 Maven 项目布局不正确。实际的源文件夹 ( com
) 应该位于 src/main/java 文件夹下,而不是src
像共享的屏幕截图那样直接位于该文件夹下。maven 项目的正确布局应如下所示 -
└────maven-project ├────pom.xml └───src ├────主要 │ ├───java │ └───资源 └────测试 ├────java └────资源
查看Apache Maven 标准目录布局以获取完整的详细信息。
您还可以使用spring-initializr创建一个包含所有依赖项的框架项目,然后在 intellij(或 eclipse)中按原样导入该项目,并将其用于进一步开发。
另外,附带说明一下,通常不需要直接在 intellij .iml 文件中更改任何内容。任何需要这样做都意味着您在其他地方遗漏了一些东西,在这种情况下是项目布局。
推荐阅读
- function - 为什么 PowerShell 不接受函数的命名和类型化 [ref] 参数?
- c# - 无法将 WPF DataGrid 绑定到具有作为属性路径无效的列名的 DataView
- javascript - JavaScript 显示/隐藏 html 元素
- javascript - 模糊没有按预期工作
- powershell - 带参数的调用命令作为作业
- java - 如何在 DynamoDB 中使用 java 从 json 文件读取对象动态创建项目
- javascript - 基于Javascript中的另一个字符串从查询字符串中检索参数
- office365 - 通过 Graph API 生成 Office365 报告
- ios - 如何更改 Square Connect API 中的自定义金额文本。销售点应用程序?
- c - c中从地面射出的弹道炮弹