55 lines
1.4 KiB
Java
55 lines
1.4 KiB
Java
// Based on the example from http://www.java2s.com/Code/Java/JDK-6/CompilingfromMemory.htm
|
|
|
|
package javaCompile;
|
|
|
|
import java.io.PrintStream;
|
|
import java.io.FilterOutputStream;
|
|
import java.io.ByteArrayOutputStream;
|
|
import java.io.OutputStream;
|
|
import java.io.IOException;
|
|
import sun.security.tools.KeyTool;
|
|
import sun.security.tools.JarSigner;
|
|
|
|
public class SignJar {
|
|
|
|
static PrintStream filteredstream =
|
|
new PrintStream(
|
|
new FilteredStream(
|
|
new ByteArrayOutputStream()));
|
|
|
|
public static void KeyToolMSF( String[] args ) {
|
|
try {
|
|
RedirectStd();
|
|
KeyTool.main( args );
|
|
} catch( Exception ex ) { ex.printStackTrace(); }
|
|
}
|
|
|
|
public static void JarSignerMSF( String[] args ) {
|
|
try {
|
|
RedirectStd();
|
|
JarSigner.main( args );
|
|
} catch( Exception ex ) { ex.printStackTrace(); }
|
|
}
|
|
|
|
private static void RedirectStd() {
|
|
try {
|
|
System.setOut( filteredstream );
|
|
System.setErr( filteredstream );
|
|
} catch( Exception ex ) { ex.printStackTrace(); }
|
|
}
|
|
|
|
static class FilteredStream extends FilterOutputStream {
|
|
public FilteredStream( OutputStream aStream ) { super ( aStream ); }
|
|
|
|
public void write( byte b[] ) throws IOException {
|
|
String aString = new String( b );
|
|
// Do stuff with the output.
|
|
}
|
|
|
|
public void write( byte b[], int off, int len) throws IOException {
|
|
String aString = new String( b, off, len );
|
|
// Do stuff with the output.
|
|
}
|
|
}
|
|
}
|