假设我们正在运行mvn test
。
我想知道是否有一种方法可以配置Maven在执行测试之前运行某些文件。就我而言,我想配置一个库,但不想为我的应用程序/测试中的每个入口点都配置此库。我只是想为每个调用运行时的mvn生命周期挂钩配置lib。
类似这样的东西:
@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文件存储在资源目录中。它更手动,但可以完成。