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 文件。它更手动,但可以完成。
解决方案
推荐阅读
- npm - VSCode 调试和玩笑:使用 npm 运行没有断点,使用节点运行 CWD 错误
- php - 使用php处理输入字符串中的双斜杠
- sql - 如何使用 APache2 在 localhost 上安装现有的 prestashop?让 pb 配置 .conf 和虚拟主机
- ibm-cloud-infrastructure - 有没有办法识别加载了特定 SoftLayer VM 的图像?
- magento - 增强型电子商务 - Magento 产品点击
- cplex - 如何在目标函数中使用 forall 或聚合器?
- c# - 在 MS Edge 浏览器的页面内找不到 UI 控件
- spring-boot - Stackdriver - 所有日志都映射为 INFO
- powershell - 根据扩展名的情况寻找删除目录中文件的方法
- android - SetSelected 在相对布局中的 5 个按钮之间