Если есть способ сделать это, он, вероятно, будет включать использование опций JVM, которые не совсем элегантны или полностью переносимы.
Использование класса-оболочки вокруг существующего приложения может быть более чистой альтернативой, если все, что вам нужно, это инициализировать некоторый класс до того, как ваш код приложения будет выполнен:
public class LoggedLauncher {
public static void main(String[] args) {
// Do whatever you need to initialize your logging class
//
// e.g. call a static method:
//
// MyLogger.init();
// ...then start your application
MyApplication.main(args);
}
}
Вы можете даже использовать немного отражения, чтобы класс приложения мог быть предоставлен в качестве аргумента дляобертка, заменяющая жестко заданную ссылку.Если вы это сделаете, не забудьте манипулировать массивом args
, чтобы соответствующие аргументы были переданы методу main()
вашего приложения.