title: Adding jmx_prometheus_javaagent.jar causing error
body: <p>I have been able to successfully extract JMX metrics using jmx prometheus exporter when I add below as a javaagent to my standalone jar using command</p>
  <pre><code>-javaagent:./jmx_prometheus_javaagent-0.15.0.jar=8089:config.yaml -jar myjar.jar
  </code></pre>
  <p>but when I add this to the tomcat server as VM options.
  It gives below error and fails to extract any jmx information:</p>
  <blockquote>
  <p>SEVERE [prometheus-http-1-4] io.prometheus.jmx.shaded.io.prometheus.jmx.JmxCollector.collect JMX scrape failed: java.io.IOException: Failed to retrieve RMIServer stub: javax.naming.NoInitialContextException: Cannot instantiate class: org.apache.naming.java.javaURLContextFactory [Root exception is java.lang.ClassNotFoundException: org.apache.naming.java.javaURLContextFactory]
  at javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:369)
  at javax.management.remote.JMXConnectorFactory.connect(JMXConnectorFactory.java:270)
  at io.prometheus.jmx.shaded.io.prometheus.jmx.JmxScraper.doScrape(JmxScraper.java:94)
  at io.prometheus.jmx.shaded.io.prometheus.jmx.JmxCollector.collect(JmxCollector.java:547)
  at io.prometheus.jmx.shaded.io.prometheus.client.CollectorRegistry$MetricFamilySamplesEnumeration.findNextElement(CollectorRegistry.java:207)
  at io.prometheus.jmx.shaded.io.prometheus.client.CollectorRegistry$MetricFamilySamplesEnumeration.nextElement(CollectorRegistry.java:240)
  at io.prometheus.jmx.shaded.io.prometheus.client.CollectorRegistry$MetricFamilySamplesEnumeration.nextElement(CollectorRegistry.java:161)
  at io.prometheus.jmx.shaded.io.prometheus.client.exporter.common.TextFormat.write004(TextFormat.java:65)
  at io.prometheus.jmx.shaded.io.prometheus.client.exporter.common.TextFormat.writeFormat(TextFormat.java:47)
  at io.prometheus.jmx.shaded.io.prometheus.client.exporter.HTTPServer$HTTPMetricHandler.handle(HTTPServer.java:72)
  at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:79)
  at sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:83)
  at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:82)
  at sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:675)
  at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:79)
  at sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:647)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
  at java.lang.Thread.run(Thread.java:748)
  Caused by: javax.naming.NoInitialContextException: Cannot instantiate class: org.apache.naming.java.javaURLContextFactory [Root exception is java.lang.ClassNotFoundException: org.apache.naming.java.javaURLContextFactory]
  at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:674)
  at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:313)
  at javax.naming.InitialContext.init(InitialContext.java:244)
  at javax.naming.InitialContext.(InitialContext.java:216)
  at javax.management.remote.rmi.RMIConnector.findRMIServerJNDI(RMIConnector.java:1953)
  at javax.management.remote.rmi.RMIConnector.findRMIServer(RMIConnector.java:1922)
  at javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:287)
  ... 18 more
  Caused by: java.lang.ClassNotFoundException: org.apache.naming.java.javaURLContextFactory
  at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
  at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
  at java.lang.Class.forName0(Native Method)
  at java.lang.Class.forName(Class.java:348)
  at com.sun.naming.internal.VersionHelper12.loadClass(VersionHelper12.java:72)
  at com.sun.naming.internal.VersionHelper12.loadClass(VersionHelper12.java:61)
  at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:672)</p>
  </blockquote>