Advertisement
Guest User

Untitled

a guest
Feb 5th, 2016
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 0.65 KB | None | 0 0
  1.   def loadClassUri[A](uri: java.net.URI,
  2.                       className: String,
  3.                       classPath: Seq[java.net.URI] = Seq(),
  4.                       packageName: String = "controllers"): A = {
  5.  
  6.     val l = new URLClassLoader(Seq(uri.toURL), play.Play.application().classloader())
  7.     l.addURL(new java.net.URL("jar:" + uri.toString.replace("file:/", "file://") + "!/"))
  8.     val classLoader = new URLClassLoader(Seq(uri.toURL), this.getClass.getClassLoader)
  9.     classPath.foreach { i => classLoader.addURL(i.toURL) }
  10.     val clazz = classLoader.loadClass(Seq(packageName, className).mkString("."))
  11.     clazz.newInstance().asInstanceOf[A]
  12.   }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement