Maven是否在运行时一开始就提供钩子

时间:2019-02-04 03:15:11

标签: java maven

假设我们正在运行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文件存储在资源目录中。它更手动,但可以完成。

0 个答案:

没有答案