<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_by_API%2Fjava.net%2FURLClassLoader</id>
		<title>Java by API/java.net/URLClassLoader - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_by_API%2Fjava.net%2FURLClassLoader"/>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_by_API/java.net/URLClassLoader&amp;action=history"/>
		<updated>2026-04-22T02:44:44Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java_by_API/java.net/URLClassLoader&amp;diff=458&amp;oldid=prev</id>
		<title> в 17:43, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_by_API/java.net/URLClassLoader&amp;diff=458&amp;oldid=prev"/>
				<updated>2010-05-31T17:43:48Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 17:43, 31 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java_by_API/java.net/URLClassLoader&amp;diff=459&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_by_API/java.net/URLClassLoader&amp;diff=459&amp;oldid=prev"/>
				<updated>2010-05-31T14:17:06Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== extends URLClassLoader ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.lang.reflect.InvocationTargetException;&lt;br /&gt;
import java.lang.reflect.Method;&lt;br /&gt;
import java.lang.reflect.Modifier;&lt;br /&gt;
import java.net.JarURLConnection;&lt;br /&gt;
import java.net.URL;&lt;br /&gt;
import java.net.URLClassLoader;&lt;br /&gt;
import java.util.jar.Attributes;&lt;br /&gt;
public class Main extends URLClassLoader {&lt;br /&gt;
  private URL url;&lt;br /&gt;
  public Main(URL url) {&lt;br /&gt;
    super(new URL[] { url });&lt;br /&gt;
    this.url = url;&lt;br /&gt;
  }&lt;br /&gt;
  public String getMainClassName() throws IOException {&lt;br /&gt;
    URL u = new URL(&amp;quot;jar&amp;quot;, &amp;quot;&amp;quot;, url + &amp;quot;!/&amp;quot;);&lt;br /&gt;
    JarURLConnection uc = (JarURLConnection) u.openConnection();&lt;br /&gt;
    Attributes attr = uc.getMainAttributes();&lt;br /&gt;
    return attr != null ? attr.getValue(Attributes.Name.MAIN_CLASS) : null;&lt;br /&gt;
  }&lt;br /&gt;
  public void invokeClass(String name, String[] args) throws ClassNotFoundException,&lt;br /&gt;
      NoSuchMethodException, InvocationTargetException {&lt;br /&gt;
    Class c = loadClass(name);&lt;br /&gt;
    Method m = c.getMethod(&amp;quot;main&amp;quot;, new Class[] { args.getClass() });&lt;br /&gt;
    m.setAccessible(true);&lt;br /&gt;
    int mods = m.getModifiers();&lt;br /&gt;
    if (m.getReturnType() != void.class || !Modifier.isStatic(mods) || !Modifier.isPublic(mods)) {&lt;br /&gt;
      throw new NoSuchMethodException(&amp;quot;main&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    try {&lt;br /&gt;
      m.invoke(null, new Object[] { args });&lt;br /&gt;
    } catch (IllegalAccessException e) {&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== new URLClassLoader(URL[] urls) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
import java.lang.reflect.Method;&lt;br /&gt;
import java.net.URL;&lt;br /&gt;
import java.net.URLClassLoader;&lt;br /&gt;
public class Main {&lt;br /&gt;
  static public void main(String args[]) throws Exception {&lt;br /&gt;
    URL myurl[] = { new URL(&amp;quot;file:///C:/CH3/ClassLoader/web/&amp;quot;),&lt;br /&gt;
        new URL(&amp;quot;http://www.jexp.edu/~xyx/test/&amp;quot;) };&lt;br /&gt;
    URLClassLoader x = new URLClassLoader(myurl);&lt;br /&gt;
    Class c = x.loadClass(&amp;quot;TestURL&amp;quot;);&lt;br /&gt;
    Class getArg1[] = { (new String[1]).getClass() };&lt;br /&gt;
    Method m = c.getMethod(&amp;quot;main&amp;quot;, getArg1);&lt;br /&gt;
    String[] my1 = { &amp;quot;arg1 passed&amp;quot;, &amp;quot;arg2 passed&amp;quot; };&lt;br /&gt;
    Object myarg1[] = { my1 };&lt;br /&gt;
    m.invoke(null, myarg1);&lt;br /&gt;
    Object ob = c.newInstance();&lt;br /&gt;
    Class arg2[] = {};&lt;br /&gt;
    Method m2 = c.getMethod(&amp;quot;tt&amp;quot;, arg2);&lt;br /&gt;
    m2.invoke(ob, null);&lt;br /&gt;
    Class arg3[] = { (new String()).getClass(), int.class };&lt;br /&gt;
    Method m3 = c.getMethod(&amp;quot;tt&amp;quot;, arg3);&lt;br /&gt;
    Object myarg2[] = { &amp;quot;Arg1&amp;quot;, new Integer(100) };&lt;br /&gt;
    m3.invoke(ob, myarg2);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== URLClassLoader: getURLs() ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
import java.net.URL;&lt;br /&gt;
import java.net.URLClassLoader;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    ClassLoader sysClassLoader = ClassLoader.getSystemClassLoader();&lt;br /&gt;
    URL[] urls = ((URLClassLoader) sysClassLoader).getURLs();&lt;br /&gt;
    for (int i = 0; i &amp;lt; urls.length; i++) {&lt;br /&gt;
      System.out.println(urls[i].getFile());&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>