我正在使用Maven-tomcat插件。然而,对于战争开始,它需要一些罐子。我已经将这些jar检入我们的nexus服务器并将其作为依赖项添加到maven tomcat插件中 - 但是,当我运行mvn tomcat6:run时,构建失败。 maven tomcat插件试图在中央仓库中找到依赖的jar,而不是在我的nexus服务器中。有没有办法指定它应该查看哪个存储库? 或者有没有办法为maven-tomcat插件指定一个文件夹,其中包含必要的额外jar?我尝试了所有的选项,如classesDir和additionalClasspathDirs但无济于事。任何帮助将不胜感激。
答案 0 :(得分:0)
我通常在我的全局settings.xml中将我的公司nexus服务器设置为存储库:
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
...
<profiles>
<profile>
<id>repositories</id>
<repositories>
<repository>
<id>my-nexus</id>
<name>My Nexus</name>
<url>http://my.company.com/nexus/content/groups/public</url>
<layout>default</layout>
<releases>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
</snapshots>
</repository>
</repositories>
</profile>
</profiles>
...
<activeProfiles>
<activeProfile>repositories</activeProfile>
</activeProfiles>
</settings>
然后我的所有项目都会找到它。如果你不控制你的gloabl设置,用户设置也会很好。
---------------编辑-----------------
我刚刚意识到这是在询问tomcat 插件的依赖关系 ...插件从<pluginRepositories>
元素指定的另一组存储库中提取它们的依赖关系。所以,你需要这样的东西:
<pluginRepositories>
<pluginRepository>
<id>my-nexus</id>
<name>My Nexus</name>
<url>http://my.company.com/nexus/content/groups/public</url>
<layout>default</layout>
<releases>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
</snapshots>
</pluginRepository>
</pluginRepositories>
我试着找到关于此的好文档,但它在maven文档中有点掩饰。这里有一个类似的问题:
答案 1 :(得分:0)
添加插件依赖项(AFAIC)。
您必须在pluginRepositories / pluginRepository部分添加此新repo。
HTH