代码之家  ›  专栏  ›  技术社区  ›  Justin Searls

Maven无法下载tomcat Maven插件快照

  •  3
  • Justin Searls  · 技术社区  · 15 年前

    <plugin>            
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>tomcat-maven-plugin</artifactId>
        <version>1.0-SNAPSHOT</version>
        <configuration>                 
            <path>/licensing</path>
            <tomcatWebXml>${basedir}/src/main/mock/web.xml</tomcatWebXml>
        </configuration>
    </plugin>
    

    以及(在POM中)插件存储库定义:

    <pluginRepository>
        <id>Codehaus Snapshots</id>
        <url>http://snapshots.repository.codehaus.org</url>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
        <releases>
            <enabled>true</enabled>  <!-- Workaround for MNG-2974, see note below -->
        </releases>
    </pluginRepository> 
    

    思想?

    Downloading: http://snapshots.repository.codehaus.org/org/codehaus/mojo/tomcat-maven-plugin/1.0-SNAPSHOT/tomcat-maven-pl
    ugin-1.0-SNAPSHOT.jar
    [INFO] Unable to find resource 'org.codehaus.mojo:tomcat-maven-plugin:maven-plugin:1.0-SNAPSHOT' in repository Codehaus
    Snapshots (http://snapshots.repository.codehaus.org)
    [INFO] ------------------------------------------------------------------------
    [ERROR] BUILD FAILURE
    [INFO] ------------------------------------------------------------------------
    [INFO] A required plugin was not found: Plugin could not be found - check that the goal name is correct: Unable to downl
    oad the artifact from any repository
    
    Try downloading the file manually from the project website.
    
    Then, install it using the command:
        mvn install:install-file -DgroupId=org.codehaus.mojo -DartifactId=tomcat-maven-plugin -Dversion=1.0-SNAPSHOT -Dpacka
    ging=maven-plugin -Dfile=/path/to/file
    
    Alternatively, if you host your own repository you can deploy the file there:
        mvn deploy:deploy-file -DgroupId=org.codehaus.mojo -DartifactId=tomcat-maven-plugin -Dversion=1.0-SNAPSHOT -Dpackagi
    ng=maven-plugin -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id]
    
    
      org.codehaus.mojo:tomcat-maven-plugin:maven-plugin:1.0-SNAPSHOT
    
    from the specified remote repositories:
      central (http://repo1.maven.org/maven2),
      Codehaus Snapshots (http://snapshots.repository.codehaus.org)
    
    
      org.codehaus.mojo:tomcat-maven-plugin:maven-plugin:1.0-SNAPSHOT
    
    from the specified remote repositories:
      central (http://repo1.maven.org/maven2),
      Codehaus Snapshots (http://snapshots.repository.codehaus.org)
    
    
    [INFO] ------------------------------------------------------------------------
    [INFO] For more information, run Maven with the -e switch
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 2 seconds
    [INFO] Finished at: Wed Jan 06 10:06:49 EST 2010
    [INFO] Final Memory: 14M/36M
    [INFO] ------------------------------------------------------------------------
    
    4 回复  |  直到 11 年前
        1
  •  11
  •   Betlista    11 年前

    我重新检查并使用以下pom片段:

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
      ...
      <pluginRepositories>
        <pluginRepository>
          <id>Codehaus Snapshots</id>
          <url>http://snapshots.repository.codehaus.org/</url>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
          <releases>
            <enabled>true</enabled>  <!-- Workaround for MNG-2974, see note below -->
          </releases>
        </pluginRepository>
      </pluginRepositories>
      ...
      <build>
        <finalName>my-webapp</finalName>
        <plugins>
          ...
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>tomcat-maven-plugin</artifactId>
            <version>1.0-SNAPSHOT</version>
          </plugin>
          ...
        </plugins>
       ...
      </build>
    </project>
    

    插件的快照已成功下载:

    $ mvn clean
    [INFO] Scanning for projects...
    [INFO] ------------------------------------------------------------------------
    [INFO] Building my-webapp Maven Webapp
    [INFO]    task-segment: [clean]
    [INFO] ------------------------------------------------------------------------
    [INFO] snapshot org.codehaus.mojo:tomcat-maven-plugin:1.0-SNAPSHOT: checking for updates from Codehaus Snapshots
    [INFO] snapshot org.codehaus.mojo:tomcat-maven-plugin:1.0-SNAPSHOT: checking for updates from maven2-repository.dev.java.net
    Downloading: http://snapshots.repository.codehaus.org//org/codehaus/mojo/tomcat-maven-plugin/1.0-SNAPSHOT/tomcat-maven-plugin-1.0-20091222.232027-11.pom
    5K downloaded  (tomcat-maven-plugin-1.0-20091222.232027-11.pom)
    Downloading: http://snapshots.repository.codehaus.org//org/codehaus/mojo/tomcat-maven-plugin/1.0-SNAPSHOT/tomcat-maven-plugin-1.0-20091222.232027-11.jar
    48K downloaded  (tomcat-maven-plugin-1.0-20091222.232027-11.jar)
    [INFO] [clean:clean {execution: default-clean}]
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESSFUL
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 9 seconds
    [INFO] Finished at: Wed Jan 06 16:13:28 CET 2010
    [INFO] Final Memory: 7M/78M
    [INFO] ------------------------------------------------------------------------
    


    在您的本地存储库中,是否有 maven-metadata*.xml tomcat maven插件工件的1.0-SNAPSHOT目录中的文件?它们与远程服务器上的匹配吗?他们是否正确指定了构建编号和时间戳?

    如果它们在本地不正确,请使用 -U

    你也可以检查一下 mvn help:effective-pom 看看Maven是怎么想的 updatePolicy 用于该存储库上的快照。

    或者从本地存储库中删除tomcat maven插件工件,然后重试。

    如果没有任何帮助,尝试手动安装(从存储库下载插件并使用 mvn install:install-file mojo)或从VCS中签出源代码并在本地构建。但这些选项只是权宜之计,您在某个地方遇到了问题(您使用的是什么版本的maven?)。

        2
  •  6
  •   Betlista    11 年前

    我知道这篇文章有点旧,但是TomcatMaven插件已经被移动到ApacheMaven存储库中。Codehaus仅承载插件的1.0版本。如果您想要2.0-snapshot(这样您就可以运行Tomcat7),您需要稍微更改pom.xml。请注意,2.0正在开发中。

    <repositories>
    ...
        <repository>
            <id>people.apache.snapshots</id>
            <url>http://repository.apache.org/content/groups/snapshots-group/</url>
            <releases>
                <enabled>false</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
    </repositories>
    
    <pluginRepositories>
        <pluginRepository>
            <id>apache.snapshots</id>
            <name>Apache Snapshots</name>
            <url>http://repository.apache.org/content/groups/snapshots-group/</url>
            <releases>
                <enabled>false</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </pluginRepository>
    </pluginRepositories>
    

    您的插件配置如下所示:

    <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.0-SNAPSHOT</version>
    </plugin>
    
        3
  •  1
  •   Upgradingdave    15 年前

    不确定,但看起来他们可能在使用某种形式的 "buildnumber" maven插件包含版本控制版本号。

    看看 http://snapshots.repository.codehaus.org//org/codehaus/mojo/tomcat-maven-plugin/1.0-SNAPSHOT/maven-metadata.xml 您会注意到,除了普通的东西之外,还有一个用于buildnumber和timestamp的xml标记。

    这可能并不理想,但您可以替换:

    <version>1.0-SNAPSHOT</version>
    

    与:

    <version>1.0-20091222.232027-11</version>
    

        4
  •  0
  •   CA Martin    10 年前

    首先,我要说的是,您并不像其他Eclipse插件那样下载用于Eclipse的TomcatMaven插件。

    如果任何人在理解如何让他们的Maven项目作为Maven构建配置运行时遇到困难,那么您可能需要了解以下几点:

    我想上传一张图片,但是哦,好吧。。。。

    在您的EclipseWeb应用程序中,希望您有一个Maven POM.xml文件,如果没有,您需要先设置它。

    有一个名为“输入groupId、artifactId或sha1等”的字段。。。。

    然后,它将在下面的框中加载搜索结果。

    基本上,这是在pom.xml中加载关于使用Maven构建时要下载哪些插件的详细信息。

    然后,您需要转到运行配置,并确保您拥有指向Web应用所在位置的正确路径。

    同样在该页面中,在目标下键入TomCat:run 然后申请 终于跑了。

    然后,您可以转到浏览器并输入[http://localhost:8080/webappname/defaultpagename]

    还有瓦拉!