package com.googlecode.mycontainer.maven.plugin; import java.io.File; import java.net.MalformedURLException; import org.apache.maven.plugin.logging.Log; import com.googlecode.mycontainer.starter.BeanshellMyontainerStarter; public class MycontainerRunner implements Runnable { private final Thread thread; private final Log log; private final File bsh; private ClassLoader classloader; public MycontainerRunner(Log log, ClassLoader classloader, File bsh) { this.log = log; this.bsh = bsh; this.classloader = classloader; thread = new Thread(this, "MycontainerRunner"); thread.setContextClassLoader(classloader); } public void start() { thread.start(); } public void join() throws InterruptedException { thread.join(); } public void run() { try { log.info("Creating starter"); PluginUtil.configureLogger(classloader, log); BeanshellMyontainerStarter starter = new BeanshellMyontainerStarter(); starter.setUrl(bsh.toURI().toURL().toString()); starter.execute(); } catch (MalformedURLException e) { throw new RuntimeException(e); } } }