def addJarToClassPath(pathToJar): jarURL = File(pathToJar).toURL() systemClassLoader = javaClassLoader.getSystemClassLoader() parametersArray = jarray.array([javaURL], javaClass) method = URLClassLoader.getDeclaredMethod('addURL', parametersArray) method.setAccessible(1) invokeParameters = jarray.array([jarURL], javaObject) method.invoke(systemClassLoader, invokeParameters)
def importJar(jarFile): if not os.path.exists(jarFile): raise IOError("Can't import " + jarFile) from java.net import URL, URLClassLoader from java.lang import ClassLoader from java.io import File m = URLClassLoader.getDeclaredMethod("addURL", [URL]) m.accessible = 1 m.invoke(ClassLoader.getSystemClassLoader(), [File(jarFile).toURL()])
def test_assignable_varargs(self): "array.array objects can be used in the varargs position" # modified from test case in http://bugs.jython.org/issue2423; from java.lang import Class from java.net import URL, URLClassLoader params = jarray.array([URL], Class) # URLClassLoader.addURL is protected, so workaround via reflection method = URLClassLoader.getDeclaredMethod('addURL', params) # and verify we got the right method after all self.assertEqual(method.name, "addURL")
def test_assignable_varargs(self): "array.array objects can be used in the varargs position" # modified from test case in http://bugs.jython.org/issue2423; from java.lang import Class from java.net import URL, URLClassLoader params = jarray.array([URL], Class) # URLClassLoader.addURL is protected, so workaround via reflection method = URLClassLoader.getDeclaredMethod("addURL", params) # and verify we got the right method after all self.assertEqual(method.name, "addURL")
def import_jar(jarfile): from java.net import URL, URLClassLoader from java.lang import ClassLoader from java.io import File if __debug__: print 'importing {0}'.format(jarvile) method = URLClassLoader.getDeclaredMethod("addURL", [URL]) method.accessible = 1 method.invoke(ClassLoader.getSystemClassLoader(), [File(jarFile).toURL()])
def _jython_set_classpath(jars): ''' import a jar at runtime (needed for JDBC [Class.forName]) adapted by Bastian Bowe from http://stackoverflow.com/questions/3015059/jython-classpath-sys-path-and-jdbc-drivers ''' from java.net import URL, URLClassLoader from java.lang import ClassLoader from java.io import File m = URLClassLoader.getDeclaredMethod("addURL", [URL]) m.accessible = 1 urls = [File(i).toURL() for i in jars] m.invoke(ClassLoader.getSystemClassLoader(), urls)
def _jython_set_classpath(jars): ''' import a jar at runtime (needed for JDBC [Class.forName]) adapted by Bastian Bowe from http://stackoverflow.com/questions/3015059/jython-classpath-sys-path-and-jdbc-drivers ''' from java.net import URL, URLClassLoader from java.lang import ClassLoader from java.io import File m = URLClassLoader.getDeclaredMethod("addURL", [URL]) m.accessible = 1 urls = [File(i).toURL() for i in jars] m.invoke(ClassLoader.getSystemClassLoader(), urls)
def importJar(jarFile): ''' import a jar at runtime (needed for JDBC [Class.forName]) adapted from http://forum.java.sun.com/thread.jspa?threadID=300557 Author: SG Langer Jan 2007 translated the above Java to Jython Author: [email protected] simplified and updated for jython-2.5.3b3 >>> importJar('mysql-connector-java-5.1.29-bin.jar') >>> import java.lang.Class >>> java.lang.Class.forName('com.mysql.jdbc.Driver') <type 'com.mysql.jdbc.Driver'> ''' from java.net import URL, URLClassLoader from java.lang import ClassLoader from java.io import File m = URLClassLoader.getDeclaredMethod("addURL", [URL]) m.accessible = 1 m.invoke(ClassLoader.getSystemClassLoader(), [File(jarFile).toURL()])
def addFile(jarFile): ''' http://stackoverflow.com/questions/3015059/jython-classpath-sys-path-and-jdbc-drivers import a jar at runtime (needed for JDBC [Class.forName]) adapted from http://forum.java.sun.com/thread.jspa?threadID=300557 Author: SG Langer Jan 2007 translated the above Java to Jython Author: [email protected] simplified and updated for jython-2.5.3b3 >>> importJar('jars/jtds-1.2.5.jar') >>> import java.lang.Class >>> java.lang.Class.forName('net.sourceforge.jtds.jdbc.Driver') <type 'net.sourceforge.jtds.jdbc.Driver'> ''' from java.net import URL, URLClassLoader from java.lang import ClassLoader from java.io import File m = URLClassLoader.getDeclaredMethod("addURL", [URL]) m.accessible = 1 m.invoke(ClassLoader.getSystemClassLoader(), [File(jarFile).toURL()]) return
def importJar(jarFile): ''' import a jar at runtime (needed for JDBC [Class.forName]) adapted from http://forum.java.sun.com/thread.jspa?threadID=300557 Author: SG Langer Jan 2007 translated the above Java to Jython Author: [email protected] simplified and updated for jython-2.5.3b3 >>> importJar('jars/jtds-1.2.5.jar') >>> import java.lang.Class >>> java.lang.Class.forName('net.sourceforge.jtds.jdbc.Driver') <type 'net.sourceforge.jtds.jdbc.Driver'> ''' from java.net import URL, URLClassLoader from java.lang import ClassLoader from java.io import File print "## Inside importJar <%s>" % jarFile m = URLClassLoader.getDeclaredMethod("addURL", [URL]) m.accessible = 1 m.invoke(ClassLoader.getSystemClassLoader(), [File(jarFile).toURL()])
def import_support_jar(self): addURL = URLClassLoader.getDeclaredMethod('addURL', [URL]) addURL.accessible = True addURL.invoke(URLClassLoader.getSystemClassLoader(), [File(os.path.abspath(self.supportjar)).toURL()])
def add_url_with_url_classloader(self, classloader, url): method = URLClassLoader.getDeclaredMethod("addURL", [URL]) method.setAccessible(1) method.invoke(classloader, [url]) return url
import processing except ImportError: # Import framework libs libsdir = os.path.abspath( os.path.join(os.path.dirname(__file__), 'java_libs')) libs = [os.path.join(libsdir, lib) for lib in os.listdir(libsdir)] # Import user libraries for root, dirnames, filenames in os.walk('libraries'): for libfile in fnmatch.filter(filenames, '*.jar'): libs.append(os.path.join(root, libfile)) for lib in libs: sys.path.append(lib) m = URLClassLoader.getDeclaredMethod("addURL", [URL]) m.accessible = 1 m.invoke(ClassLoader.getSystemClassLoader(), [File(lib).toURL()]) # Python imports import __builtin__ # Java imports from java.lang import Class from java.lang.reflect import Modifier from javax.swing import JFrame from processing.core import PApplet class Sketch(PApplet): """
import processing except ImportError: # Import framework libs libsdir = os.path.abspath(os.path.join(os.path.dirname(__file__), 'java_libs')) libs = [os.path.join(libsdir, lib) for lib in os.listdir(libsdir)] # Import user libraries for root, dirnames, filenames in os.walk('libraries'): for libfile in fnmatch.filter(filenames, '*.jar'): libs.append(os.path.join(root, libfile)) for lib in libs: sys.path.append(lib) m = URLClassLoader.getDeclaredMethod("addURL", [URL]) m.accessible = 1 m.invoke(ClassLoader.getSystemClassLoader(), [File(lib).toURL()]) # Python imports import __builtin__ # Java imports from java.lang import Class from java.lang.reflect import Modifier from javax.swing import JFrame from processing.core import PApplet class Sketch(PApplet): """