我正在尝试编写一个自定义 maven-2 插件,但似乎找不到任何有关读取 settings.xml 和解密服务器条目的文档。
我查看了一些 maven 依赖项,例如maven-settings
and maven-settings-builder
(两个版本都是 3.0.3,我假设它适用于 maven 3,因为我遇到了关于方法未找到异常的问题Server.clone()
)。
maven-settings:2.2.1
能够加载设置(痛苦的是,您必须提供 settings.xml 的路径 - 是否有工厂方法可以只使用默认的 ${user.home}/.m2/settings.xml?),但是我找不到解密 API(如 3.0.3 中存在的那个):
DefaultMavenSettingsBuilder builder = new DefaultMavenSettingsBuilder();
Settings settings = builder.buildSettings(new File(System.getProperty("user.home") + "/.m2/settings.xml"));
settings.getServer("id").getPassword();
// i get the encrypted String "{gsfdGJHv69}"
无论如何,我正在专门寻找有关如何(使用 maven 2.2.1)的指导:
- 将用户的 settings.xml 加载到
org.apache.maven.Settings
对象中,而无需指定完整路径 - 解密 settings.xml 文件中的特定命名服务器条目(就像您可以在 3.0.3 中使用 maven-settings-builder:3.0.3
DefaultSettingsDecryptor
类一样)
全部在我的自定义AbstractMojo
实现的执行方法中