我正在尝试创建一个插件,它可以从 Maven 中心下载并安装 jar 作为系统工具。所以我希望我的线路是这样的
mvn install-plugin:install org.chaschev:cap4j:1.0
与 Ruby 类似
gem 安装 capistrano
该插件将收集有关从 JAR 创建的快捷方式所需的所有信息。 IE。这个 jar 将包含一个实现安装接口(interface)的类。
Maven 如何理解为了执行像 release:prepare
这样的命令,它需要下载发布插件并运行它?有更好/其他的方法来做到这一点吗?
最佳答案
你的意思是命令行中的插件/目标和插件实现之间的关系是如何定义的?那么答案就是plugin.xml
。请参阅plugin.xml以获取发布插件,例如maven-release-plugin-2.0.jar:
<goalPrefix>release</goalPrefix>
...
<mojos>
<mojo>
<goal>help</goal>
...
<mojo>
<goal>prepare</goal>
...
或者你的意思是,Maven 如何发现哪些插件可用?那么答案就是:
- 有两个默认组可以搜索插件,
org.apache.maven.plugins
和org.codehaus.mojo
- 对于您自己的插件,您可能需要使用名称
${prefix}-maven-plugin
,例如cap4j-maven-plugin
- 您可以保留您的名字
cap4j
,然后将插件描述放入 POM 的<plugins>
下 - 如果您希望您的构建在其他机器上运行,它们应该指向
<pluginRepositories>
在 POM 或 settings.xml 中添加到您的插件存储库
关于java - Maven 如何理解版本 :prepare command?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19079385/