SpringCloud (第一篇)构建多模块项目及Eureka子模块

在IDEA 中创建项目,首先创建一个空项目。

一、创建空项目

  1. 点击New Project,选择 Empty Project,点击Next 。


    image.png
  2. 填写项目名称及项目地址,点击finish。


    image.png

3.添加父模块,选择Modules ,点击 + 号,如图:


image.png
  1. 选择Maven,点击下一步。


    image.png
  2. 填写 Groupld 和 ArtifactId ,然后点击Next。


    image.png
  3. 填写 模块名称和 选择项目路径,点击 Finish。


    image.png
  4. 点击 Apply 和 OK


    image.png
  5. 删除多余目录,如下:
    选择 src 目录,右键选择删除。


    image.png

9.修改父 pom 文件

在 pom 文件中 添加如下依赖。


    pom

    
    
        org.springframework.boot
        spring-boot-starter-parent
        2.1.3.RELEASE
        
    

    
        UTF-8
        UTF-8
        
        4.12
        Finchley.RELEASE
    

    
    

        
            org.springframework.boot
            spring-boot-starter-test
            test
        
    

    
        
            
            
                junit
                junit
                ${junit.version}
            
            
            
                org.springframework.cloud
                spring-cloud-dependencies
                ${spring-cloud.version}
                pom
                import
            
        
    

二、创建 子模块

  1. 点击项目右键 --> 新建模块


    image.png

    2.在New Module 中选择Spring Initializr ,点击Next 。

image.png
  1. 填写GroupId以及ArtifactId,以及版本号等


    image.png
  1. 选择CloudDiscovery -> Eureka Server ,点击Next 。


    image.png
  2. 填写 模块名称,模块路径,点击Finish 。
    注:模块名称要一致。


    image.png
  3. 修改 pom 文件

a . 修改 父模块的 pom 文件,在父 pom 文件中引入子模块。

 
    
        cloud_eureka_01
    

b. 修改 子模块的 pom 文件

    
    
        
        
        
        
        com.yao
        SpringCloudParent
        1.0-SNAPSHOT
    

完整子模块的 pom 文件



    4.0.0

    com.yaogx
    cloud_eureka_01
    0.0.1-SNAPSHOT
    cloud_eureka_01
    Demo project for Spring Boot

    
    
        
        
        
        
        com.yao
        SpringCloudParent
        1.0-SNAPSHOT
    


    
        
    

    
        
        
            org.springframework.cloud
            spring-cloud-starter-netflix-eureka-server
        

    

    
    
        
            
                
                
                
                
                
            
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    



7.删除 子模块中多余的文件夹


image.png
  1. 最终项目结构如下:


    image.png

三、遇到的问题

  1. 如果启动类报错Cannot resolve method 'run(java.lang.Class,String[])',如下:


    image.png

原因:Project SDK 可能没有引入JDK1.8


image.png

解决:Project SDK 引入JDK1.8


image.png
  1. 如果现在直接启动,可能会报错:
    com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused: connect


    image.png

原因:因为 eureka默认情况下,也会把自己当做客户端来注册自己(不知道为什么会这样设计==!)因此我们要禁用它的注册;

解决:在application.properties 配置文件中添加

#表示是否将自己注册到Eureka Server上,默认为true
eureka.client.registerWithEureka=false

#表示是否从Eureka Server上获取注册信息,默认为true
eureka.client.fetchRegistry=false
![image.png](https://upload-images.jianshu.io/upload_images/19949786-a7f6d150fdf49626.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

或者 在 application.yml 文件中添加
server:
  port: 9090

### eureka 基本配置
eureka:
  client:
    register-with-eureka: false
    fetch-registry: false

你可能感兴趣的:(SpringCloud (第一篇)构建多模块项目及Eureka子模块)