Java 尝试运行示例spring引导应用程序时,url EXCEPTION格式错误
我第一次尝试在SpringToolSuite4上运行示例SpringBoot应用程序 版本:4.8.1.0版本和JDKJava 尝试运行示例spring引导应用程序时,url EXCEPTION格式错误,java,eclipse,spring-boot,Java,Eclipse,Spring Boot,我第一次尝试在SpringToolSuite4上运行示例SpringBoot应用程序 版本:4.8.1.0版本和JDK java version "1.8.0_251" Java(TM) SE Runtime Environment (build 1.8.0_251-b08) Java HotSpot(TM) Client VM (build 25.251-b08, mixed mode) 当尝试将示例应用程序作为Spring Boot运行时,会出现以下异常 Picked
java version "1.8.0_251"
Java(TM) SE Runtime Environment (build 1.8.0_251-b08)
Java HotSpot(TM) Client VM (build 25.251-b08, mixed mode)
当尝试将示例应用程序作为Spring Boot运行时,会出现以下异常
Picked up JAVA_TOOL_OPTIONS: -Djdk.lang.Process.allowAmbiguousCommands=true
Error: Exception thrown by the agent : java.net.MalformedURLException: Service URL contains non-ASCII character 0x666
jdk.internal.agent.AgentConfigurationError: java.net.MalformedURLException: Service URL contains non-ASCII character 0x666
at jdk.management.agent/sun.management.jmxremote.ConnectorBootstrap.startRemoteConnectorServer(ConnectorBootstrap.java:493)
at jdk.management.agent/jdk.internal.agent.Agent.startAgent(Agent.java:447)
at jdk.management.agent/jdk.internal.agent.Agent.startAgent(Agent.java:599)
Caused by: java.net.MalformedURLException: Service URL contains non-ASCII character 0x666
at java.management/javax.management.remote.JMXServiceURL.<init>(JMXServiceURL.java:157)
at jdk.management.agent/sun.management.jmxremote.ConnectorBootstrap.exportMBeanServer(ConnectorBootstrap.java:870)
at jdk.management.agent/sun.management.jmxremote.ConnectorBootstrap.startRemoteConnectorServer(ConnectorBootstrap.java:481)
... 2 more
这是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>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.5.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.apress.ravi</groupId>
<artifactId>UserRegisterationSystem</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>UserRegisterationSystem</name>
<description>User Registeration System For Crud Operation</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</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>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
接口用户JParepository
package com.apress.ravi.repository;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import com.apress.ravi.dto.UsersDTO;
@Repository
public interface UserJpaRepository extends JpaRepository<UsersDTO, Long> {
UsersDTO findByName(String name);
}
可能是您计算机的主机名包含一个非ascii字符,spring正在JMX URL中使用该字符。 如果不需要JMX监视,请使用以下属性禁用它
spring.jmx.enabled=false
您的应用程序代码有问题,但尚未发布应用程序代码。错误消息非常清楚
java.net.MalformedUrl异常:服务URL在java.management/javax.management.remote.JMXServiceURL.(JMXServiceURL.java:157)处包含非ASCII字符0x666。
投票关闭引发的异常位于java.management/javax.management.remote.JMXServiceURL,这是我没有编写的类!但是您在应用程序的某个地方使用了JMX,并且在应用程序的某个地方定义了一个明显格式错误的URL。您知道代码不会自动使用自身吗?发布足够的代码,以便我们可以复制并运行您的应用程序,并获得相同的异常。因为您没有发布任何东西,所以将使用所有类更新帖子。我已将此属性添加到应用程序的属性文件中,并尝试了相同的错误发生,并且application.properties显示warinign endpoints.jmx.enabled是未知属性我刚刚更改了,它是“spring.jmx.enabled”,也发生了相同的错误,我的主机名是:OSMOHAME-EGI检查了异常中引用的字符;是٦(阿拉伯语-印度语中的数字6),您的窗口是否可以设置为以非英语格式显示数字
package com.apress.ravi.repository;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import com.apress.ravi.dto.UsersDTO;
@Repository
public interface UserJpaRepository extends JpaRepository<UsersDTO, Long> {
UsersDTO findByName(String name);
}
import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.apress.ravi.dto.UsersDTO;
import com.apress.ravi.repository.UserJpaRepository;
@RestController
@RequestMapping("/api/user")
public class UserRegistrationRestController {
public static final Logger logger =
LoggerFactory.getLogger(UserRegistrationRestController.class);
private UserJpaRepository userJpaRepository;
@Autowired
public void setUserJpaRepository(UserJpaRepository userJpaRepository) {
this.userJpaRepository = userJpaRepository;
}
@GetMapping("/")
public ResponseEntity<List<UsersDTO>> listAllUsers() {
List<UsersDTO> users = userJpaRepository.findAll();
return new ResponseEntity<List<UsersDTO>>(users, HttpStatus.OK);
}
}
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class UserRegisterationSystemApplicationTests {
@Test
void contextLoads() {
}
}
spring.jmx.enabled=false