Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!us.feeder.erje.net!newsfeed.fsmpi.rwth-aachen.de!newsfeed.straub-nv.de!eternal-september.org!feeder.eternal-september.org!mx02.eternal-september.org!.POSTED!not-for-mail From: =?UTF-8?Q?Joshua_Cranmer_=f0=9f=90=a7?= Newsgroups: comp.lang.java.programmer Subject: Re: get a list of classes at runtime Date: Wed, 13 May 2015 22:15:28 -0500 Organization: A noiseless patient Spider Lines: 23 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Thu, 14 May 2015 03:14:24 +0000 (UTC) Injection-Info: mx02.eternal-september.org; posting-host="8cedddb29338592f734c41b16a68fadc"; logging-data="15148"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/UtQNpW17XTupEMRCUN9N5So73ACx9/1A=" User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.0 In-Reply-To: Cancel-Lock: sha1:Dewx2T+LHhwxnOCytqSnaEGPyC8= Xref: csiph.com comp.lang.java.programmer:31711 On 5/13/2015 9:14 AM, Philipp Kraus wrote: > I think so, but how do IDEs like IntelliJ or Eclipse this call? If I > write into the code editor > something a dialog is show, which lists all possibility classes. > So imho I need to run over the Jar, create an index of all class files > and use a pattern structure to > match the names. For Eclipse at least, the location of used jar files (including the main rt.jar) is configured in the project settings. I recall Eclipse having settings to let you choose which of the available JDK/JREs to use. I imagine this is found in part by searching for well-known install locations, and letting a developer switch between multiple installed JDKs is useful for a Java IDE. It is possible in a running Java program to find the directory of the current JRE (System.getProperty("java.home")), as well as the class path in use (System.getProperty("java.class.path")). -- Beware of bugs in the above code; I have only proved it correct, not tried it. -- Donald E. Knuth