当前位置: 首页 > 知识库问答 >
问题:

找不到jmxRemoteURL包含非ASCII字符的原因

段干跃
2023-03-14
"C:\Program Files\Apache Software Foundation\Tomcat 9.0\bin\catalina.bat" run
[2019-09-07 10:58:59,049] Artifact test:war exploded: Waiting for server connection to start artifact deployment...
Using CATALINA_BASE:   "C:\Users\pcs\.IntelliJIdea2018.3\system\tomcat\Tomcat_9_0_12_test"
Using CATALINA_HOME:   "C:\Program Files\Apache Software Foundation\Tomcat 9.0"
Using CATALINA_TMPDIR: "C:\Program Files\Apache Software Foundation\Tomcat 9.0\temp"
Using JRE_HOME:        "C:\Program Files\Java\jdk-10.0.1"
Using CLASSPATH:       "C:\Program Files\Apache Software Foundation\Tomcat 9.0\bin\bootstrap.jar;C:\Program Files\Apache Software Foundation\Tomcat 9.0\bin\tomcat-juli.jar"
Error: Exception thrown by the agent : java.net.MalformedURLException: Service URL contains non-ASCII character 0x6f1
public class JMXServiceURL implements Serializable {

    private static final long serialVersionUID = 8173364409860779292L;

    /**
     * Constructs a JMXServiceURL by parsing a Service URL
     * string.
     *
     * @param serviceURL the URL string to be parsed.
     *
     * @exception NullPointerException if  serviceURL is
     * null.
     *
     *  @exception MalformedURLException if serviceURL
     * does not conform to the syntax for an Abstract Service URL or
     * if it is not a valid name for a JMX Remote API service.  A
     * JMXServiceURL must begin with the string
     * "service:jmx:" (case-insensitive).  It must not
     * contain any characters that are not printable ASCII characters.
     */
    public JMXServiceURL(String serviceURL) throws MalformedURLException {
        final int serviceURLLength = serviceURL.length();

        /* Check that there are no non-ASCII characters in the URL,
           following RFC 2609.  */
        for (int i = 0; i < serviceURLLength; i++) {
            char c = serviceURL.charAt(i);
            if (c < 32 || c >= 127) {
                throw new MalformedURLException("Service URL contains " +
                                                "non-ASCII character 0x" +
                                                Integer.toHexString(c));
            }
        }

*最后这是我在Intellij Idea控制台中的完整输出:

"C:\Program Files\Apache Software Foundation\Tomcat 9.0\bin\catalina.bat" run
[2019-09-07 10:58:59,049] Artifact test:war exploded: Waiting for server connection to start artifact deployment...
Using CATALINA_BASE:   "C:\Users\pcs\.IntelliJIdea2018.3\system\tomcat\Tomcat_9_0_12_test"
Using CATALINA_HOME:   "C:\Program Files\Apache Software Foundation\Tomcat 9.0"
Using CATALINA_TMPDIR: "C:\Program Files\Apache Software Foundation\Tomcat 9.0\temp"
Using JRE_HOME:        "C:\Program Files\Java\jdk-10.0.1"
Using CLASSPATH:       "C:\Program Files\Apache Software Foundation\Tomcat 9.0\bin\bootstrap.jar;C:\Program Files\Apache Software Foundation\Tomcat 9.0\bin\tomcat-juli.jar"
Error: Exception thrown by the agent : java.net.MalformedURLException: Service URL contains non-ASCII character 0x6f1
jdk.internal.agent.AgentConfigurationError: java.net.MalformedURLException: Service URL contains non-ASCII character 0x6f1
    at jdk.management.agent/sun.management.jmxremote.ConnectorBootstrap.startRemoteConnectorServer(ConnectorBootstrap.java:491)
    at jdk.management.agent/jdk.internal.agent.Agent.startAgent(Agent.java:450)
    at jdk.management.agent/jdk.internal.agent.Agent.startAgent(Agent.java:621)
Caused by: java.net.MalformedURLException: Service URL contains non-ASCII character 0x6f1
    at java.management/javax.management.remote.JMXServiceURL.<init>(JMXServiceURL.java:157)
    at jdk.management.agent/sun.management.jmxremote.ConnectorBootstrap.exportMBeanServer(ConnectorBootstrap.java:846)
    at jdk.management.agent/sun.management.jmxremote.ConnectorBootstrap.startRemoteConnectorServer(ConnectorBootstrap.java:479)
    ... 2 more
Disconnected from server

如果我错过了什么话请告诉我。非常感谢你的大力帮助。

共有1个答案

陶朝明
2023-03-14

通过深入研究,我在网上将十六进制转换为十进制,实现了(0x6F1)等于(1777)。似乎有一个非ASCII字符,它的(char toint)转换结果是1777。

最后,通过转换(int到char),我意识到char实际上是非ASCII的:)

(正如CrazyCoder所发现的)它是扩展的阿拉伯-印度数字1

    null
int a = 1777;
char c = (char)a;
System.out.println (c);
 类似资料:
  • 问题内容: 我正在使用从Excel导入一些数据的MySQL数据库。数据包含非ASCII字符(破折号等)以及隐藏的回车符或换行符。有没有办法使用MySQL查找这些记录? 问题答案: 这完全取决于您定义为“ ASCII”的内容,但是我建议尝试这样的查询变体: 该查询将返回columnToCheck包含任何非字母数字字符的所有行。如果还有其他可接受的字符,请将其添加到正则表达式中的字符类。例如,如果句点

  • 问题内容: 我正在尝试解析包含某些非ASCII字符的xml, 代码如下 但它在行“ content = …”上显示了错误,例如 在终端中它正在工作,但是在Eclipse IDE上运行时却给我一个错误。 不知道该如何克服。 问题答案: 您应该定义源代码编码,并将其添加到脚本顶部: 它在控制台和IDE中工作不同的原因可能是由于设置了不同的默认编码。您可以通过运行以下命令进行检查:

  • 问题内容: 我在Matplotlib中显示非ASCII字符时遇到问题,这些字符呈现为小框而不是适当的字体,看起来像(我用红色油漆填充了这些框以突出显示它们): 我如何解决它? 一个相关的问题是 Matplotlib中的重音字符 。 问题答案: 实际上,此问题可能有两个不同的原因: 默认字体不包含这些字形 您可以使用以下方法更改默认字体(在完成任何绘制之前!) 在某些版本的matplotlib中,您

  • 问题内容: 我从HTML页面中将一个字符串输入到Java HTTPServlet中。根据我的要求,我得到了显示汉字的ASCII码: “&#21487;&#20197;&#21578;&#35785;&#25105;” (无空格) 如何将该字符串转换为Unicode? HTML代码: Java代码: 如果我打印问题[0],则会得到以下值:“&#21487;&#20197;&#21578;&#3578

  • 问题内容: 要查找当前文件夹中所有包含“ foo”的文件,我使用: 要查找当前文件夹中所有包含“ bar”的文件,我使用: 但是,如何查找不包含“ foo”和“ bar”的所有文件? 问题答案: 要打印 线 不包含某些字符串,可以使用标志: 这样就为您提供了 不 包含或的所有行。 要打印不包含某些字符串的 文件 ,请使用该标志。要不匹配多个字符串,可以将正则表达式与标志一起使用(可以使用多个reg

  • 问题内容: 我有一个字节数组,其中包含我希望转换为字符串的ASCII字符。例如: myByteArray在循环后应包含字符串“ 12345678”。如何将此字符串转换为String变量? 谢谢! 问题答案: 用 字符串类为此提供了一个构造函数。 旁注:此处的第二个参数是CharSet(字节编码),应谨慎处理。这里更多。