将visualvm连接到在gradle包装器中运行的java应用程序

Chr*_*ris 7 java visualvm jetty jvisualvm gradle

我正在尝试将visualvm连接到我的java应用程序,该应用程序是使用jetty和gradle构建的。该应用程序在本地主机上运行,​​因此不需要远程连接。但是,每当我尝试连接到应用程序时,我只是连接到 gradle 包装器,因此无法使用 visualvm 分析我的应用程序。在这里搜索和谷歌搜索不足。

到目前为止,我已经尝试将以下行添加到我的 gradle.build 文件中

-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=9010
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-Djava.rmi.server.hostname=localhost')
Run Code Online (Sandbox Code Playgroud)

我还尝试从 jetty-jmx.xml 中取消注释以下内容

<Call name="createRegistry" class="java.rmi.registry.LocateRegistry">                                                                                 
<Arg type="java.lang.Integer"><SystemProperty name="jetty.jmxrmiport" default="1099"/></Arg>                                                        
<Call name="sleep" class="java.lang.Thread">                                                                                                        
   <Arg type="java.lang.Integer">1000</Arg>                                                                                                         
</Call>                                                                                                                                             
Run Code Online (Sandbox Code Playgroud)

<New id="ConnectorServer" class="org.eclipse.jetty.jmx.ConnectorServer">                                                                              
<Arg>                                                                                                                                               
  <New class="javax.management.remote.JMXServiceURL">                                                                                               
    <Arg type="java.lang.String">rmi</Arg>                                                                                                          
    <Arg type="java.lang.String" />                                                                                                                 
    <Arg type="java.lang.Integer"><SystemProperty name="jetty.jmxrmiport" default="1099"/></Arg>                                                    
    <Arg type="java.lang.String">/jndi/rmi://<SystemProperty name="jetty.jmxrmihost" default="localhost"/>:<SystemProperty name="jetty.jmxrmiport"default="1099"/>/jmxrmi</Arg>                                                                                                                           
  </New>                                                                                                                                            
</Arg>                                                                                                                                              
<Arg>org.eclipse.jetty.jmx:name=rmiconnectorserver</Arg>                                                                                            
<Call name="start" />                                                                                                                               
Run Code Online (Sandbox Code Playgroud)