使用官网生成的eureka注册服务项目启动时无法渲染freemaker模板而是返回xml响应。
1. parent 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.ycx.cloud</groupId> <artifactId>cloud</artifactId> <version>1.0</version> <packaging>pom</packaging> <!-- {@see} http://projects.spring.io/spring-cloud/ --> <!-- lookup parent from repository(super POM) --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.10.RELEASE</version> <relativePath/> </parent> <modules> <module>cloud-server-center</module> </modules> <properties> <maven.compile.source>1.8</maven.compile.source> <maven.compile.target>1.8</maven.compile.target> <java.version>1.8</java.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <spring-cloud.version>Edgware.SR1</spring-cloud.version> <druid.version>1.1.6</druid.version> <fastjson.version>1.2.36</fastjson.version> <lombok.version>1.16.14</lombok.version> <!-- plugins version --> <maven-compiler-plugin.version>3.5.1</maven-compiler-plugin.version> <maven-source-plugin.version>2.4</maven-source-plugin.version> <maven-deploy-plugin.version>2.8.2</maven-deploy-plugin.version> </properties> <!-- dependencies --> <dependencies> </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> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>${fastjson.version}</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>${druid.version}</version> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>${lombok.version}</version> <scope>provided</scope> </dependency> </dependencies> </dependencyManagement> <!-- repository --> <repositories> <repository> <id>oss</id> <name>oss</name> <url>https://oss.sonatype.org/content/groups/public</url> <snapshots> <enabled>true</enabled> </snapshots> </repository> <repository> <id>spring-milestones</id> <name>Spring Milestones</name> <url>https://repo.spring.io/libs-milestone</url> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories> <build> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>${maven-compiler-plugin.version}</version> <configuration> <source>${maven.compile.source}</source> <target>${maven.compile.target}</target> <encoding>${project.build.sourceEncoding}</encoding> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <version>${maven-source-plugin.version}</version> <executions> <execution> <id>attach-sources</id> <goals> <goal>jar-no-fork</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-deploy-plugin</artifactId> <version>${maven-deploy-plugin.version}</version> </plugin> </plugins> </pluginManagement> </build> </project>
2. 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 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <artifactId>eureka-center</artifactId> <groupId>com.ycx.cloud</groupId> <version>1.0</version> </parent> <artifactId>cloud-eureka-center</artifactId> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-config</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> <!-- Spring Cloud Starter Eureka Server (deprecated, please use spring-cloud-starter-netflix-eureka-server) --> <!-- <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka-server</artifactId> --> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> </dependencies> <!-- build --> <build> <finalName>eureka-center</finalName> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
3. application.yml
spring: application: name: cloud-server-center freemarker: prefer-file-system-access: false thymeleaf: enabled: false server: port: 8088 eureka: instance: hostname: localhost instance-id: ${spring.application.name}:${spring.cloud.client.ipAddress}:${spring.application.instance_id:${server.port}} client: registerWithEureka: false #false: dont't register to server center as a client fetchRegistry: false #true throws Cannot execute request on any known server waitTimeInMsWhenSyncEmpty: 0 #serviceUrl: # defaultZone: http://localhost:${server.port}/eureka #dashboard: # path: / # Full authentication is required to access actuator endpoints. # Consider adding Spring Security or set 'management.security.enabled' to false. management: security: enabled: false
4.运行
使用 mvn spring-boot:run 运行工程,在centos6,windows10,jdk8环境下测试,UI均不正常显示,根据stackoverflow和官方源代码的issue均不能解决。排除eureka项目的依赖时发现,freemarker-2.3.x-incubating依赖,根据maven中心仓库查询情况。这个孵化版本应该存在问题。freemarker版本调整如下:
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.23</version>
</dependency>
重新编译后启动项目,问题解决。
附注:
- 自定义dashboard显示界面,可以将spring-cloud-netflix-eureka-server-1.x.x.RELEASE.jar中static和templates文件夹拷贝至当前maven工程中的src/main/resources目录下进行自定义修改。
- 服务中心运行一段时间提示
EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY'RE NOT. RENEWALS ARE LESSER THAN THRESHOLD AND HENCE THE INSTANCES ARE NOT BEING EXPIRED JUST TO BE SAFE.
据查和自注册服务相关。 - system status下信息环境显示test
Environment test Data center default
附:https://stackoverflow.com/questions/43314822/spring-eureka-dashboard-returns-xml-on-wildfly
相关推荐
- 在`pom.xml`文件中,设置`spring-cloud.version`属性为`2021.0.1`,以确保使用的是最新版本的Spring Cloud Eureka。 - 使用`<dependencyManagement>`标签导入Spring Cloud的依赖管理,这样可以简化依赖版本的...
SpringCloud Eureka是微服务架构中的关键组件,它作为一个服务注册与发现的工具,使得服务之间的调用变得简单。在最新版本2.x.x中,Eureka提供了更稳定、高效的特性来支持大规模分布式系统的构建。 首先,让我们...
Spring Cloud Eureka Server是Spring Cloud框架中的一个关键组件,它主要负责服务的注册与发现,是微服务架构中实现服务治理的重要工具。Eureka Server作为服务注册中心,为其他微服务提供服务注册和发现的能力,...
Spring Cloud Eureka集群搭建
Spring Cloud Eureka、Spring Cloud Gateway和Spring Cloud Zipkin是微服务架构中常用的一组组件,它们各自在分布式系统中承担着不同的角色。本项目通过Maven进行构建,旨在实现一个完整的微服务治理和监控解决方案...
在本文中,我们将深入探讨Spring Cloud Eureka,一个在分布式系统中用于服务发现的重要组件。我们将基于提供的"Spring Cloud Eureka服务注册DEMO"来理解其核心概念,并探索如何通过三个Spring Boot应用——服务注册...
在分布式系统中,服务治理是不可或缺的一环,而Spring Cloud Eureka则是Netflix开源的一个用于实现服务注册与发现的组件,它使得微服务架构中的服务能够互相找到并进行通信。本项目是一个SpringCloud Eureka集群的...
《Spring Cloud Eureka源码分析》 Spring Cloud Eureka是Netflix公司开源的一个服务发现组件,它是基于REST的服务,用于在分布式系统中定位服务,以实现负载均衡和中间层服务器的故障转移。Eureka的设计目标是提供...
SpringCloud Eureka是Spring Cloud生态系统中的一个关键组件,主要用于实现服务发现。Eureka是一个基于REST的服务,用于定位运行在分布式系统中的服务,以达到高可用和容错的目的。本篇文章将深入Eureka的源码,帮助...
### Spring Cloud Eureka源码解析 #### 一、Eureka客户端源码解析 Spring Cloud Eureka客户端主要通过`org.springframework.cloud.netflix.eureka.EurekaClientAutoConfiguration`类来完成大部分的初始化工作,...
在本文中,我们将深入探讨Spring Cloud Eureka,这是一个在分布式系统中实现服务发现的重要组件。通过结合提供的"spring cloud eureka示例代码",我们可以更好地理解如何在实践中使用Eureka。首先,让我们来了解一下...
《SpringCloud Eureka Server深度解析与实践指南》 在分布式微服务架构中,服务治理扮演着至关重要的角色,而SpringCloud Eureka Server正是这样一款专为解决服务注册与发现问题而设计的组件。本文将围绕"spring...
Spring Cloud Eureka是Spring Cloud框架中的一个组件,主要用于实现服务发现功能。Eureka是一个基于REST的服务,用于定位服务,使得分布式系统中的应用能发现彼此并进行通信。在微服务架构中,Eureka作为服务注册与...
本文将详细介绍如何使用 Spring Cloud Eureka 实现服务发现。我们将涵盖以下内容: 什么是服务发现? Spring Cloud Eureka 简介 搭建 Eureka 服务注册中心 注册微服务到 Eureka 服务发现和调用 高可用 Eureka 集群...
在分布式系统中,Spring Cloud Eureka 是一个关键组件,它作为一个服务发现注册中心,使得微服务之间能够相互发现和通信。本示例代码是关于如何搭建 Eureka 集群的详细实践,同时展示了如何利用 Eureka 实现本地负载...
Spring Cloud Eureka是Netflix开发的服务发现组件,它在微服务架构中扮演着核心角色,用于管理服务实例的注册与发现。Eureka客户端是Eureka生态系统的一部分,它允许微服务应用注册到Eureka服务器并获取其他服务的...
创建一个新的Maven项目,并在pom.xml文件中添加SpringCloud的BOM依赖,比如`<parent>`标签引用`spring-cloud-starter-parent`,以及Eureka相关的依赖,如`spring-cloud-starter-netflix-eureka-client`。 2. **创建...
**客户端组件**:Spring Cloud提供了Eureka Client,这是一个Java库,包含两个部分:一是服务注册,二是服务发现。服务注册部分负责将服务实例注册到Eureka Server,服务发现部分则负责从Eureka Server获取服务实例...
在给定的标题和描述中,我们看到了几个关键组件:Eureka、Zuul、Ribbon、Hystrix 和 Feign,这些都是Spring Cloud生态中的重要组成部分。下面将详细阐述这些组件及其在实际应用中的作用。 1. **Eureka**:它是...
Spring Cloud Eureka 就是这样的一个服务注册与发现工具,它是 Netflix 提供的开源项目,是 Spring Cloud 生态系统中的重要组成部分。Eureka 通过提供服务注册与发现功能,帮助构建松耦合、高可用的分布式系统。 **...