我的项目需要使用自定义Maven插件,我正在寻找简单的方法来构建它,最好不要弄乱本地存储库.
让我们考虑简单的项目树:
root-project
|---pom.xml
|---my-library
| \---pom.xml
|---my-maven-plugin
| \---pom.xml
\---my-project
\---pom.xml
Run Code Online (Sandbox Code Playgroud)
root-project有三个子项目列在<modules>里面.最主要的是,my-project使用my-maven-plugin过程中它的建造过程,因此该插件必须先建.
我想做的是简单地运行:
root-project $ mvn package
这应my-maven-plugin首先构建并在构建期间使用它my-project.
不幸的是,这不起作用.Maven在"扫描项目......"阶段停止工作,并显示错误消息:
Unresolveable build extension: Plugin test:my-maven-plugin:1.0 or one of its dependencies could not be resolved: Could not find artifact test:my-maven-plugin:jar:1.0
如果我先做的话,它可以工作
$ cd my-maven-plugin
$ mvn install
$ cd ..
$ mvn package
Run Code Online (Sandbox Code Playgroud)
它看起来不太好.但是,真正的问题是插件依赖于它my-library(这是root的另一个子模块).因此,在构建插件之前,我必须输入库目录并进行安装.随着我添加到插件中的每个"内部"依赖性,事情变得越来越糟.结果是本地存储库中的混乱以及重建项目所需的许多手动步骤.
有没有办法说Maven它应该首先构建插件(使用deps),然后在我的项目构建期间使用它?
我在单独的项目之间设置XCode 4中的依赖项时遇到问题.目前,我在同一工作区中有两个项目.第一个项目在其产品中有一个框架.我想在第二个项目中使用这个框架,作为Bundle目标的依赖项.
第一个项目成功构建.但是,第二个声称它无法访问框架中的标头,尽管它存在于那里.我添加了框架到我的目标的构建阶段 - >链接二进制文件库部分,但这没有帮助.我正在寻找答案,但我发现的只是在" 摘要"页面上添加库的建议.不幸的是,与Application目标相反,Bundle目标没有此窗格.我还有其他地方可以添加框架吗?