0.配置intellij idea工具:https://www.cnblogs.com/wang-liang-blogs/p/12060702.html
1.使用maven構建工具構建主工程項目。
1.1.file-->new-->project-->選擇maven,sdk選擇本地配置的jdk
1.2.next-->輸入GroupId和ArtifactId
1.3.next-->選擇project location-->finish
1.4.等待maven將依賴包下載完成
2.構建eureka模塊
2.1.選中總的springcloud-->右鍵new-->model-->選擇Spring Assistant-->SDK選擇本地配置的jdk
2.2.next-->配置GroupId/Artifact Id/Project name/Package name
GroupId要與主工程一樣,是主工程的一個模塊。
2.3.next-->選擇Spring Cloud Discovery-->選中Eureka Server
2.4.next-->在啟動入口加注解上注解@EnableEurekaServer-->增加resources/application.yml的配置
在項目啟動類上使用@EnableEurekaServer,可以將項目作為SpringCloud中的注冊中心
2.4.1.程序入口文件:
package com.demo.springcloudeureka; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; @SpringBootApplication @EnableEurekaServer public class SpringcloudEurekaApplication { public static void main(String[] args) { SpringApplication.run(SpringcloudEurekaApplication.class, args); } }
2.4.2.resources/application.yml配置文件,如果是application.properties,可以修改成application.yml,也可以不修改
server:
port: 8762
eureka:
instance:
hostname: localhost
client:
registerWithEureka: false
fetchRegistry: false
serviceUrl:
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
2.5.右鍵選擇 Run 'SpringcloudEurekaApplication.main()'啟動成功。
啟動成功后可以看到如下信息,端口以及啟動耗時等
2.6.瀏覽器訪問:localhost:8762,可以看到相關的eureka的相關信息,注意標紅的部分是注冊到eureka上的服務
3.刪除主工程的src以及.iml文件。
4.擴展/嘗試
我這樣搭建之后感覺pom文件不是我預想的那種結構,感覺這樣生成的的pom.xml有點問題,所以我做如下修改。
將子模塊eureka模塊的parent/properties/dependencies/dependencyManagement移到主模塊springcloud中的pom.xml文件在,並且在主模塊的pom文件中加入modules,子模塊eureka模塊添加parent關聯主模塊springcloud.
主模塊springcloud模塊的pom.xml文件
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.demo</groupId> <artifactId>springcloud</artifactId> <version>0.0.1-SNAPSHOT</version> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.2.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <modules> <module>springcloud-eureka</module> </modules> <properties> <java.version>1.8</java.version> <spring-cloud.version>Hoxton.RELEASE</spring-cloud.version> </properties> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> <exclusions> <exclusion> <groupId>org.junit.vintage</groupId> <artifactId>junit-vintage-engine</artifactId> </exclusion> </exclusions> </dependency> </dependencies> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>${spring-cloud.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> </project>
子模塊eureka模塊的pom.xml文件
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.demo</groupId> <artifactId>springcloud</artifactId> <version>0.0.1-SNAPSHOT</version> </parent> <artifactId>springcloud-eureka</artifactId> <version>0.0.1-SNAPSHOT</version> <name>springcloud-eureka</name> <description>Demo project for Spring Boot</description> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
這樣給我的感覺是不會重復的取下載獲取判斷重復的架包