<div dir="ltr">I managed to solve the problem. I downgraded to Java 7. Recompiled all test classes and analyser classes and added missing jars. Now everything runs.<div><br></div><div>-earlence</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Jul 26, 2015 at 3:49 PM, Earlence Fernandes <span dir="ltr">&lt;<a href="mailto:earlenceferns@gmail.com" target="_blank">earlenceferns@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I neglected to mention that I&#39;m on Java 1.8.<div>When I changed the project to use Jave 1.7, I get this error:</div><div><div>Exception in thread &quot;main&quot; java.lang.RuntimeException: Could not load classfile: java.util.Map$Entry</div><div><span style="white-space:pre-wrap">        </span>at soot.coffi.Util.resolveFromClassFile(Util.java:75)</div><div><span style="white-space:pre-wrap">        </span>at soot.CoffiClassSource.resolve(CoffiClassSource.java:39)</div><div><span style="white-space:pre-wrap">        </span>at soot.SootResolver.bringToHierarchy(SootResolver.java:215)</div><div><span style="white-space:pre-wrap">        </span>at soot.SootResolver.bringToSignatures(SootResolver.java:239)</div><div><span style="white-space:pre-wrap">        </span>at soot.SootResolver.bringToBodies(SootResolver.java:280)</div><div><span style="white-space:pre-wrap">        </span>at soot.SootResolver.processResolveWorklist(SootResolver.java:150)</div><div><span style="white-space:pre-wrap">        </span>at soot.SootResolver.resolveClass(SootResolver.java:124)</div><div><span style="white-space:pre-wrap">        </span>at soot.Scene.forceResolve(Scene.java:1279)</div><div><span style="white-space:pre-wrap">        </span>at com.microsoft.smartthings.overprivilege.OverprivilegeAnalyser.main(OverprivilegeAnalyser.java:44)</div></div><span class="HOEnZb"><font color="#888888"><div><br></div><div>-Earlence</div></font></span></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Jul 26, 2015 at 3:27 PM, Earlence Fernandes <span dir="ltr">&lt;<a href="mailto:earlenceferns@gmail.com" target="_blank">earlenceferns@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I have set the soot classpath to contain rt.jar, but I still get that message. I&#39;m trying to use soot to analyse compiled groovy programs.<div><br><div>My setup looks like:<div><br></div><div><div>        public static void main(String [] args)</div><div><span style="white-space:pre-wrap">        </span>{</div><div><span style="white-space:pre-wrap">                </span>System.out.println(&quot;Overprivilege Analyser&quot;);</div><div><span style="white-space:pre-wrap">                </span>Transform oat = new Transform(&quot;wjtp.OASceneTransformer&quot;, new OASceneTransformer());</div><div><span style="white-space:pre-wrap">                </span>PackManager.v().getPack(&quot;wjtp&quot;).add(oat);</div><div><span style="white-space:pre-wrap">                </span><span style="white-space:pre-wrap">                </span></div><div><span style="white-space:pre-wrap">                </span>//<a href="https://github.com/Sable/soot/wiki/Using-Soot-with-custom-entry-points" target="_blank">https://github.com/Sable/soot/wiki/Using-Soot-with-custom-entry-points</a></div><div><span style="white-space:pre-wrap">                </span>String classpath = &quot;C:\\Program Files\\Java\\jre1.8.0_51\\lib\\rt.jar;&quot;</div><div><span style="white-space:pre-wrap">                                </span>+ &quot;C:\\Users\\t-earlef\\workspace\\SmartThingsCompilationShell\\bin\\;&quot;</div><div><span style="white-space:pre-wrap">                                </span>+ &quot;C:\\apps\\groovy-2.4.4\\lib\\groovy-2.4.4.jar&quot;;</div><div><span style="white-space:pre-wrap">                                </span></div><div><span style="white-space:pre-wrap">                </span></div><div><span style="white-space:pre-wrap">                </span>String [] args2 = {</div><div><span style="white-space:pre-wrap">                                </span>&quot;-soot-class-path&quot;, classpath, </div><div><span style="white-space:pre-wrap">                                </span>&quot;-w&quot;,</div><div><span style="white-space:pre-wrap">                                </span>&quot;-src-prec&quot;, &quot;class&quot;,</div><div><span style="white-space:pre-wrap">                                </span>&quot;-process-dir&quot;, &quot;D:\\SamsungSmartApps\\sootclasstest\\&quot;,</div><div><span style="white-space:pre-wrap">                                </span>&quot;-d&quot;, &quot;D:\\SamsungSmartApps\\sootout&quot;,</div><div><span style="white-space:pre-wrap">                                </span>&quot;-dump-cfg&quot;, &quot;ALL&quot;</div><div><span style="white-space:pre-wrap">                </span>};</div><div><span style="white-space:pre-wrap">                </span></div><div><span style="white-space:pre-wrap">                </span>Options.v().parse(args2);</div><div><span style="white-space:pre-wrap">                                </span></div><div><span style="white-space:pre-wrap">                </span>System.out.println(&quot;Soot class path &quot; + Scene.v().getSootClassPath());</div><div><span style="white-space:pre-wrap">                </span></div><div><span style="white-space:pre-wrap">                </span>SootClass c = Scene.v().forceResolve(&quot;REDACTED&quot;, SootClass.BODIES);</div><div><span style="white-space:pre-wrap">                </span>c.setApplicationClass();</div><div><span style="white-space:pre-wrap">                </span>Scene.v().loadNecessaryClasses();</div><div><span style="white-space:pre-wrap">                </span>List&lt;SootMethod&gt; entryPoints = new ArrayList&lt;SootMethod&gt;();</div><div><span style="white-space:pre-wrap">                </span>//entryPoints.add(c.getMethodByName(&quot;skeleton1&quot;));</div><div><span style="white-space:pre-wrap">                </span>entryPoints.add(c.getMethodByName(&quot;installed&quot;));</div><div><span style="white-space:pre-wrap">                </span>Scene.v().setEntryPoints(entryPoints);</div><div><span style="white-space:pre-wrap">                </span>PackManager.v().runPacks();</div><div><span style="white-space:pre-wrap">        </span>}</div></div><span><font color="#888888"><div><br></div><div><br></div><div>-Earlence</div></font></span></div></div></div>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>