org.apache.catalina.startup.ExpandWar Java Examples

The following examples show how to use org.apache.catalina.startup.ExpandWar. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: ExtractingRoot.java    From Tomcat8-Source-Read with MIT License 5 votes vote down vote up
@Override
protected void stopInternal() throws LifecycleException {
    super.stopInternal();

    if (super.isPackedWarFile()) {
        // Remove the extracted JARs from the work directory
        File expansionTarget = getExpansionTarget();
        ExpandWar.delete(expansionTarget);
    }
}
 
Example #2
Source File: TestDefaultServletPut.java    From Tomcat8-Source-Read with MIT License 4 votes vote down vote up
@Override
public void tearDown() {
    ExpandWar.deleteDir(tempDocBase, false);
}
 
Example #3
Source File: TestFileResourceSet.java    From Tomcat8-Source-Read with MIT License 4 votes vote down vote up
@AfterClass
public static void after() {
    ExpandWar.delete(tempDir.toFile());
}
 
Example #4
Source File: TestDirResourceSet.java    From Tomcat8-Source-Read with MIT License 4 votes vote down vote up
@AfterClass
public static void after() {
    ExpandWar.delete(tempDir.toFile());
}
 
Example #5
Source File: TestFileResourceSetVirtual.java    From Tomcat8-Source-Read with MIT License 4 votes vote down vote up
@AfterClass
public static void after() {
    ExpandWar.delete(tempDir.toFile());
}
 
Example #6
Source File: TestFileResourceSetReadOnly.java    From Tomcat8-Source-Read with MIT License 4 votes vote down vote up
@AfterClass
public static void after() {
    ExpandWar.delete(tempDir.toFile());
}
 
Example #7
Source File: TestDirResourceSetMount.java    From Tomcat8-Source-Read with MIT License 4 votes vote down vote up
@AfterClass
public static void after() {
    ExpandWar.delete(tempDir.toFile());
}
 
Example #8
Source File: TestDirResourceSetInternal.java    From Tomcat8-Source-Read with MIT License 4 votes vote down vote up
@AfterClass
public static void after() {
    ExpandWar.delete(tempDir.toFile());
}
 
Example #9
Source File: TestDirResourceSetVirtual.java    From Tomcat8-Source-Read with MIT License 4 votes vote down vote up
@AfterClass
public static void after() {
    ExpandWar.delete(tempDir.toFile());
}
 
Example #10
Source File: TomcatToolRunner.java    From sqoop-on-spark with Apache License 2.0 4 votes vote down vote up
public static void main(String[] args) throws Exception {
   // Using Boostrap class to boot the common.loader and other catalina specific
   // class loaders.
   Bootstrap bootstrap = new Bootstrap();
   bootstrap.init();

   // Now we need to add the sqoop webapp classes into the class loader. Sadly
   // we have to do a lot of things ourselves. The procedure is:
	// 1) Unpack Sqoop war file
	// 2) Build the ClassLoader using Tomcat's ClassLoaderFactory

	// Various paths to war file and locations inside the war file
	String webappPath = System.getProperty(PROPERTY_APPBASE_PATH,
			DEFAULT_APPBASE_PATH);
	String catalinaBase = Bootstrap.getCatalinaBase();
	String fullWebappPath = catalinaBase + File.separator + webappPath;
	String fullSqoopWarPath = fullWebappPath + File.separator + "sqoop.war";
	String fullSqoopClassesPath = fullWebappPath + File.separator + "sqoop"
			+ File.separator + "WEB-INF" + File.separator + "classes";
	String fullSqoopLibPath = fullWebappPath + File.separator + "sqoop"
			+ File.separator + "WEB-INF" + File.separator + "lib";

	// Expand the war into the usual location, this operation is idempotent
	// (nothing bad happens if it's already expanded)
	Embedded embedded = new Embedded();
	Host host = embedded.createHost("Sqoop Tool Virtual Host",
			fullWebappPath);
	ExpandWar
			.expand(host, new URL("jar:file://" + fullSqoopWarPath + "!/"));

	// We have expanded war file, so we build the classloader from
	File[] unpacked = new File[1];
	unpacked[0] = new File(fullSqoopClassesPath);
	
	File[] packed = new File[1];
	packed[0] = new File(fullSqoopLibPath);
	
	ClassLoader loader = ClassLoaderFactory.createClassLoader(unpacked,
			packed, Thread.currentThread().getContextClassLoader());
	Thread.currentThread().setContextClassLoader(loader);

	// Finally we can call the usual ToolRunner. We have to use reflection
	// as
	// as the time of loading this class, Sqoop dependencies are not on
	// classpath.
	Class klass = Class.forName("org.apache.sqoop.tools.ToolRunner", true,
			loader);
	Method method = klass.getMethod("main", String[].class);
	method.invoke(null, (Object) args);
}