Maven-tomcat插件 - 无法指定外部jar的位置

时间:2013-06-04 15:12:47

标签: maven-tomcat-plugin

我正在使用Maven-tomcat插件。然而,对于战争开始,它需要一些罐子。我已经将这些jar检入我们的nexus服务器并将其作为依赖项添加到maven tomcat插件中 - 但是,当我运行mvn tomcat6:run时,构建失败。 maven tomcat插件试图在中央仓库中找到依赖的jar,而不是在我的nexus服务器中。有没有办法指定它应该查看哪个存储库? 或者有没有办法为maven-tomcat插件指定一个文件夹,其中包含必要的额外jar?我尝试了所有的选项,如classesDir和additionalClasspathDirs但无济于事。任何帮助将不胜感激。

2 个答案:

答案 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文档中有点掩饰。这里有一个类似的问题:

Difference between repository and pluginrepository

答案 1 :(得分:0)

添加插件依赖项(AFAIC)。

您必须在pluginRepositories / pluginRepository部分添加此新repo。

HTH