ili*_*ian 0 java tomcat jmx intellij-idea non-ascii-characters
我正在尝试将 Tomcat (v: 9.0.12) 与 Intellij Idea (v: 2018.3) 结合使用来部署 Artifact(一个简单的 hello world javaEE Web 应用程序项目)。
这是我在构建和启动项目后的一些输出(我将把这些输出作为一些有用的信息。您也可以在我的问题末尾找到完整的输出):
“C:\Program Files\Apache Software Foundation\Tomcat 9.0\bin\catalina.bat”运行 [2019-09-07 10:58:59,049] 工件测试:战争爆炸:正在等待服务器连接以启动工件部署... 使用CATALINA_BASE:“C:\ Users \ pcs \ .IntelliJIdea2018.3 \ system \ tomcat \ Tomcat_9_0_12_test” 使用CATALINA_HOME:“C:\ Program Files \ Apache Software Foundation \ Tomcat 9.0” 使用CATALINA_TMPDIR:“C:\ Program Files \ Apache Software Foundation \ Tomcat 9.0 \ temp” 使用 JRE_HOME:“C:\Program Files\Java\jdk-10.0.1” 使用 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” 错误:代理抛出异常:java.net.MalformedURLException:服务 URL 包含非 ASCII 字符 0x6f1
之后,我遇到了JMX错误,如果我是对的,它会发生在:“jdk.management.agent/sun.management.jmxremote.ConnectorBootstrap.startRemoteConnectorServer”(ConnectorBootstrap.java:491)。
在问我的问题之前,请您先看看C:\Program Files\Java\jdk-10.0.1\lib\src.zip!\java.management\javax\management\remote\JMXServiceURL.java的某些部分 ,然后您会看到它确保 URL 中没有非 ASCII 字符,并且其中有我的答案的一部分:
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));
            }
        }
Run Code Online (Sandbox Code Playgroud)
您可以在评论中找到@exception MalformedURLException ,有趣的是我可以看到我的异常消息已准备好:)
这是我已经测试过的:
我尝试将“127.0.0.1 localhost 主机名”添加到主机文件的末尾,但这没有用,而且我看不到我的问题与该问题之间的任何关系。
我尝试以管理员身份运行 Intellij Idea,但也不起作用。
*最后这是我在 Intellij Idea Console 中的完整输出:
"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
如果我漏掉了一些话,请告诉我。非常感谢您的大力帮助。
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           1234 次  |  
        
|   最近记录:  |