Скажем, мы запускаем mvn test
.
Мне интересно, есть ли способ настроить Maven для запуска некоторых файлов перед выполнением тестов.В моем случае я хочу настроить библиотеку, но не хочу настраивать эту библиотеку для каждой точки входа в моем приложении / тестах.Я просто смотрю, как настроить библиотеку для каждой ловушки жизненного цикла mvn, которая вызывает среду выполнения.
Примерно так:
@MavenRuntimeLifecycle
public class Whatever {
public void runtimeBegin(){
// right when the java process starts up
Mylib.configure("foo");
}
public void runtimeEnd(){
// right before the process shuts down
}
}
Я предполагаю, что это будет специфическая вещь Maven, а недолжен быть в том же Java-процессе, что и мой сервер или тесты и т. д.
Обратите внимание, что используя Node.js, я просто сделал бы это так:
export class MyLib {
isConfigLoaded = false;
static loadConfig(){
// ...
}
static void run(){
if(!this.isConfigLoaded){
MyLib.loadConfig(require('../some/path/to/.mylib.config.js'));
this.isConfigLoaded = true;
}
this.doTheThing();
}
}
Я мог бы сделать то же самоевещь с проектом Java или Maven, и просто сохраните файл .java в каталоге ресурсов.Это больше руководство, но это можно сделать.