would be convenient to be able to define a main() in an abstract superclass and have it automatically "run" the subclass that java was invoked with. there's nothing builtin, but at least on linux this info is easy to get. here's a simple demo
import java.nio.file.Files;
import java.nio.file.Paths;
public static void main(String[] args) throws Exception {
// linux only, might work on windows
// https://cygwin.com/ml/cygwin/2007-04/msg00817.html
byte [] bytes = Files.readAllBytes(Paths.get("/proc/self/cmdline"));
String [] text = new String(bytes).split("\0");
String klassname = text[text.length-1-args.length];
System.out.println(klassname);
}
if anyone tries this on windows, leave a comment if it works
No comments:
Post a Comment