IDEA导入微服务项目后自动将微服务展示在service面板中

在IDEA中,新版已经支持自动显示services面板,但可能需要手动配置才能显示所有微服务。通过在每个启动服务的pom文件中添加spring-boot-maven-plugin的相关配置,指定启动类路径,可以实现导入新工作空间时自动识别并显示启动类。这避免了每次拉取代码后重新配置的麻烦。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近有个疑惑,为什么拉别人的代码到idea,自动在services面板展示了多个启动类(多模块微服务),拉自己的代码就要去一个一个找启动类,于是乎研究了一翻。
目前,新版的IDEA已经可以自动显示service面板了(实测了2020.1版),如果没有只需要按下图点击services即可。
在这里插入图片描述
当然,打开了services面板之后,也可能是这样:
在这里插入图片描述
本来应该有很多的微服务,只显示了一个,甚至一个都没有。这个时候需要我们一个一个去找到启动类启动微服务,services面板才会出现有对应的服务,而且即使这样,下一次重新拉取代码后,没有本地的配置记录,又要重复操作一次,非常麻烦。

那么,如何让所有的微服务都自动展示到services面板当中呢

只要在每个启动服务的pom文件中加入以下内容:

  <!-- 添加如下内容可以让services面板自动找到该服务的启动类 -->
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <finalName>${project.name}</finalName>
                    <!--填写启动类的路径-->
                    <mainClass>com.rfm.salaryconsumeruser.SalaryConsumerUserApplication</mainClass>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

这样,将源码导入一个新的idea工作空间也能自动识别到启动类并将它显示在services面板中。

### 微服务项目IntelliJ IDEA中的导入与配置 #### 1. 准备工作 确保已安装最新版本的 IntelliJ IDEA (推荐 Ultimate 版本),并确认 JDK 和 Maven/Gradle 已正确配置到系统环境变量中。如果使用的是 Spring Boot 项目,则还需要下载对应的依赖项。 #### 2. 导入微服务项目 打开 IntelliJ IDEA 后,选择 `File -> Open` 并导航至微服务项目的根目录。通常情况下,该项目会包含多个子模块(如 service-a, service-b),这些子模块可以通过 Maven 或 Gradle 进行管理[^4]。 对于基于 Maven项目,在成功加载 pom.xml 文件后,IDEA自动解析所有的依赖关系。此时可以右键单击父级 `pom.xml` 文件并选择 `Maven -> Reload Project` 来刷新依赖项。 #### 3. 配置运行参数 为了支持多环境部署,Spring Boot 提供了多种方式来激活特定 profile 下的应用程序配置文件。例如,可以在启动命令中加入如下选项以指定开发环境: ```bash java -jar app.jar --spring.profiles.active=dev ``` 此操作可通过 IDEA 中的 Run Configuration 设置完成。具体步骤为:进入 `Run -> Edit Configurations...` 菜单项,创建一个新的 Application 配置,并在 VM options 字段输入 `-Dspring.profiles.active=dev`[^2]。 #### 4. 外部化配置文件的支持 当需要从 jar 包外部引入 application.properties 或者 yml 格式的配置文件时,可将其放置于 classpath 根路径下或者通过命令行参数指定位置。例如: ```yaml spring.config.location=./config/application-dev.yml ``` 上述设置允许应用程序读取位于当前目录下的 config 子文件夹内的自定义配置文件[^1]。 #### 5. 解决数据库连接异常问题 针对因权限不足引发的 SQL 错误 (`Unknown error 1045`) ,需核查 MySQL 用户名密码以及主机访问控制列表是否匹配实际需求。同时注意 Feign 客户端接口声明部分是否存在未初始化的服务实例地址情况: ```java @Component @FeignClient("service-edu") public interface EduClient { @GetMapping("/eduservice/coursefront/getCourseInfoOrder/{id}") public CourseWebVoOrder getCourseInfoOrder(@PathVariable("id") String id); } ``` 这里假设 `service-edu` 是注册中心里可用的一个服务名称;否则应补充完整的 URL 地址作为 fallback 值[^3]。 ---
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值