Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java maven的maven-tomcat7-plugin“无法确定最新版本”_Java_Maven_Tomcat7_Maven Plugin - Fatal编程技术网

Java maven的maven-tomcat7-plugin“无法确定最新版本”

Java maven的maven-tomcat7-plugin“无法确定最新版本”,java,maven,tomcat7,maven-plugin,Java,Maven,Tomcat7,Maven Plugin,我尝试为maven使用tomcat7插件。我正在使用Maven 2.2.1和Java1.7。我在pom.xml中包含了如下插件: <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> </plugi

我尝试为maven使用tomcat7插件。我正在使用Maven 2.2.1和Java1.7。我在pom.xml中包含了如下插件:

<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.2</version>
</plugin>
<build>
  <plugins>
    <plugin>
      <groupId>org.apache.tomcat.maven</groupId>
      <artifactId>tomcat7-maven-plugin</artifactId>
      ...
我从~/.2m中删除了我的本地存储库,以确保那里没有问题。还设置了nox代理等。当我尝试使用“mvn tomcat7:run-X-U”深入研究这个问题时,我得到了以下跟踪:

错误堆栈跟踪已打开。Apache Maven 2.2.1 rdebian-14 Java版本:1.7.0_65 Java home:/usr/lib/jvm/Java-7-oracle/jre 默认区域设置:en_US,平台编码:UTF-8操作系统名称:linux 版本:3.13.0-32-generic-arch:amd64系列:unix[调试] 从以下位置构建Maven用户级插件注册表: “/home/brost/.m2/plugin registry.xml”[DEBUG]构建Maven 全局级插件注册表,来自: “/usr/share/maven2/conf/plugin registry.xml”[INFO]扫描 项目。。。[调试]为添加托管依赖项 gwt:gwt用户:jar:2.6.1:提供[调试] gwt:gwtservlet:jar:2.6.1[DEBUG] gwt:gwt-dev:jar:2.6.1:test[DEBUG] servlet:javax.servlet api:jar:3.0.1:提供[调试] gwtplatform:gwtp all:jar:1.3[调试] inject:guice:jar:3.0[DEBUG] extensions:guiceservlet:jar:3.0[DEBUG] extensions:guice assistedinject:jar:3.0[DEBUG] com.google.gwt.inject:gin:jar:2.1.2[DEBUG] lambdaworks:scrypt:jar:1.4.0[DEBUG]junit:junit:jar:4.7:test [DEBUG]org.jukito:jukito:jar:1.4:test[DEBUG] org.hibernate:hibernate entitymanager:jar:4.3.5.Final[DEBUG] org.hsqldb:hsqldb:jar:2.3.2[调试] org.slf4j:slf4j-log4j12:jar:1.7.7:已提供[调试] log:gwt-log:jar:3.3.0[DEBUG]添加托管 未知的依赖项:mdm客户端[调试] gwt:gwt用户:jar:2.6.1:提供[调试] gwt:gwtservlet:jar:2.6.1[DEBUG] gwt:gwt-dev:jar:2.6.1:test[DEBUG] servlet:javax.servlet api:jar:3.0.1:提供[调试] gwtplatform:gwtp all:jar:1.3[调试] inject:guice:jar:3.0[DEBUG] extensions:guiceservlet:jar:3.0[DEBUG] extensions:guice assistedinject:jar:3.0[DEBUG] com.google.gwt.inject:gin:jar:2.1.2[DEBUG] lambdaworks:scrypt:jar:1.4.0[DEBUG]junit:junit:jar:4.7:test [DEBUG]org.jukito:jukito:jar:1.4:test[DEBUG] org.hibernate:hibernate entitymanager:jar:4.3.5.Final[DEBUG] org.hsqldb:hsqldb:jar:2.3.2[调试] org.slf4j:slf4j-log4j12:jar:1.7.7:已提供[调试] log:gwt-log:jar:3.3.0[DEBUG]添加托管 未知的依赖项:mdm共享[调试] gwt:gwt用户:jar:2.6.1:提供[调试] gwt:gwtservlet:jar:2.6.1[DEBUG] gwt:gwt-dev:jar:2.6.1:test[DEBUG] servlet:javax.servlet api:jar:3.0.1:提供[调试] gwtplatform:gwtp all:jar:1.3[调试] inject:guice:jar:3.0[DEBUG] extensions:guiceservlet:jar:3.0[DEBUG] extensions:guice assistedinject:jar:3.0[DEBUG] com.google.gwt.inject:gin:jar:2.1.2[DEBUG] lambdaworks:scrypt:jar:1.4.0[DEBUG]junit:junit:jar:4.7:test [DEBUG]org.jukito:jukito:jar:1.4:test[DEBUG] org.hibernate:hibernate entitymanager:jar:4.3.5.Final[DEBUG] org.hsqldb:hsqldb:jar:2.3.2[调试] org.slf4j:slf4j-log4j12:jar:1.7.7:已提供[调试] log:gwt-log:jar:3.3.0[DEBUG]添加托管 未知的依赖项:mdm服务器[调试] gwt:gwt用户:jar:2.6.1:提供[调试] gwt:gwtservlet:jar:2.6.1[DEBUG] gwt:gwt-dev:jar:2.6.1:test[DEBUG] servlet:javax.servlet api:jar:3.0.1:提供[调试] gwtplatform:gwtp all:jar:1.3[调试] inject:guice:jar:3.0[DEBUG] extensions:guiceservlet:jar:3.0[DEBUG] extensions:guice assistedinject:jar:3.0[DEBUG] com.google.gwt.inject:gin:jar:2.1.2[DEBUG] lambdaworks:scrypt:jar:1.4.0[DEBUG]junit:junit:jar:4.7:test [DEBUG]org.jukito:jukito:jar:1.4:test[DEBUG] org.hibernate:hibernate entitymanager:jar:4.3.5.Final[DEBUG] org.hsqldb:hsqldb:jar:2.3.2[调试] org.slf4j:slf4j-log4j12:jar:1.7.7:已提供[调试] com.allen sauer.gwt.log:gwt log:jar:3.3.0[INFO]反应堆建造顺序: 正在存储库中搜索前缀为“tomcat7”的插件。[调试] 从以下组加载插件前缀:org.apache.maven.plugins[INFO] org.apache.maven.plugins:检查来自central的更新[调试] 从默认映射为 协议http[DEBUG]检查预先存在的用户代理 配置[调试]添加用户代理配置。[调试] 正在连接到存储库:“中心”,url为: . [调试]使用WAG实现 轻量级协议http[DEBUG]加载的默认映射 组中的插件前缀:org.codehaus.mojo[INFO] org.codehaus.mojo:检查来自central[DEBU]的更新 G] 使用 从协议的默认映射实现轻量级 http[DEBUG]检查预先存在的用户代理配置。 [调试]添加用户代理配置。[调试]连接到 存储库:“中心”,url:。 [调试]使用来自默认映射的轻量实现 对于协议http[INFO]工件 插件:maven-tomcat7-plugin:检查更新 从中心[DEBUG],使用来自 协议http[DEBUG]检查预先存在的默认映射 用户代理配置。[调试]添加用户代理配置。 [调试]连接到存储库:“中心”,url为: . [调试]使用WAG实现 来自协议http[DEBUG]存储库的默认映射的轻量级 “artifact org.apache.maven.plugins:maven-tomcat7-plugin”的元数据 在存储库中找不到:中央[调试] maven-tomcat7-plugin:使用本地安装的快照[调试] 未找到工件-使用存根模型:无法确定最新版本 版本

插件:maven-tomcat7-plugin:pom:LATEST

[调试]使用缺少POM的默认值 插件:maven-tomcat7-plugin:pom:LATEST[DEBUG] maven-tomcat7-plugin:使用本地安装的快照[调试] 未找到工件-使用存根模型:无法确定版本 版本

插件:maven-tomcat7-plugin:pom:RELEASE

[调试]使用缺少POM的默认值 插件:maven-tomcat7-plugin:pom:RELEASE[INFO] ------------------------------------[错误]生成错误[信息] ------------------------------------[信息]org.apache.maven.plugins:maven-tomcat7-plugin插件 不存在或找不到有效版本[信息] ------------------------------------[DEBUG]Trace org.apache.maven.lifecycle.LifecycleExecutionException: 插件“org.apache.maven.plugins:maven-tomcat7-plugin”没有 存在或在上找不到有效版本 org.apache.maven.lifecycle.DefaultLifecycleExecutor.verifyPluginDefaultLifecycleExecutor.java:1569 在 org.apache.maven.lifecycle.DefaultLifecycleExecutor.getMojoDescriptorDefaultLifecycleExecutor.java:1851 在 org.apache.maven.lifecycle.DefaultLifecycleExecutor.segmentTaskListByAggregationNeedsDefaultLifecycleExecutor.java:462 在 org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeDefaultLifecycleExecutor.java:175 在org.apache.maven.DefaultMaven.doExecuteDefaultMaven.java:328 at org.apache.maven.DefaultMaven.executeDefaultMaven.java:138 at org.apache.maven.cli.MavenCli.mainMavenCli.java:362 org.apache.maven.cli.compat.CompatibleMain.maincatiblemain.java:60 在sun.reflect.NativeMethodAccessorImpl.invoke0Native方法在 sun.reflect.NativeMethodAccessorImpl.invokeNativeMethodAccessorImpl.java:57 在 sun.reflect.DelegatingMethodAccessorImpl.invokeDelegatingMethodAccessorImpl.java:43 java:606 at org.codehaus.classworlds.Launcher.launchEnhancedLauncher.java:315 位于org.codehaus.classworlds.Launcher.launchLauncher.java:255处 org.codehaus.classworlds.Launcher.mainWithExitDelauncher.java:430 位于org.codehaus.classworlds.Launcher.mainluncher.java:375 作者:org.apache.maven.plugin.version.pluginInversionNotFoundException: 插件“org.apache.maven.plugins:maven-tomcat7-plugin”没有 存在或在上找不到有效版本 org.apache.maven.plugin.version.DefaultPluginVersionManager.resolvePluginVersionDefaultPluginVersionManager.java:229 在 org.apache.maven.plugin.version.DefaultPluginVersionManager.resolvePluginVersionDefaultPluginVersionManager.java:91 在 org.apache.maven.plugin.DefaultPluginManager.verifyPluginDefaultPluginManager.java:179 在 org.apache.maven.plugin.DefaultPluginManager.loadPluginDescriptorDefaultPluginManager.java:1642 在 org.apache.maven.lifecycle.DefaultLifecycleExecutor.verifyPluginDefaultLifecycleExecutor.java:1540 ... 还有15个

但是可以肯定的是,该插件在maven存储库中是可用的

我们在pom.xml中定义了三个子模块。但如果我删除它们,错误仍然是一样的。因此,这不应该与底层pom.xml文件相关

我可以做些什么来进一步调试它

编辑:这是完整的pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>testproject</groupId>
    <artifactId>mdm</artifactId>
    <version>1.0.0</version>
    <packaging>pom</packaging>

    <prerequisites>
        <maven>${mavenVersion}</maven>
    </prerequisites>

    <properties>
        <!-- client -->
        <gwt.version>2.6.1</gwt.version>
        <gwtp.version>1.3</gwtp.version>
        <gin.version>2.1.2</gin.version>
        <gwt-maven-plugin.version>2.6.1</gwt-maven-plugin.version>

        <!-- server -->
        <guice.version>3.0</guice.version>

        <!-- testing -->
        <junit.version>4.7</junit.version>
        <jukito.version>1.4</jukito.version>

        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.google.gwt</groupId>
                <artifactId>gwt-user</artifactId>
                <version>${gwt.version}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>com.google.gwt</groupId>
                <artifactId>gwt-servlet</artifactId>
                <version>${gwt.version}</version>
            </dependency>
            <dependency>
                <groupId>com.google.gwt</groupId>
                <artifactId>gwt-dev</artifactId>
                <version>${gwt.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>javax.servlet-api</artifactId>
                <version>3.0.1</version>
                <scope>provided</scope>
            </dependency>

            <!-- GWT-Platform -->
            <dependency>
                <groupId>com.gwtplatform</groupId>
                <artifactId>gwtp-all</artifactId>
                <version>${gwtp.version}</version>
            </dependency>

            <!-- DI -->
            <dependency>
                <groupId>com.google.inject</groupId>
                <artifactId>guice</artifactId>
                <version>${guice.version}</version>
            </dependency>
            <dependency>
                <groupId>com.google.inject.extensions</groupId>
                <artifactId>guice-servlet</artifactId>
                <version>${guice.version}</version>
            </dependency>
            <dependency>
                <groupId>com.google.inject.extensions</groupId>
                <artifactId>guice-assistedinject</artifactId>
                <version>${guice.version}</version>
            </dependency>
            <dependency>
                <groupId>com.google.gwt.inject</groupId>
                <artifactId>gin</artifactId>
                <version>${gin.version}</version>
            </dependency>

            <!-- Password Hashing scrypt -->
            <dependency>
                <groupId>com.lambdaworks</groupId>
                <artifactId>scrypt</artifactId>
                <version>1.4.0</version>
            </dependency>

            <!-- Test -->
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>${junit.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.jukito</groupId>
                <artifactId>jukito</artifactId>
                <version>${jukito.version}</version>
                <scope>test</scope>
            </dependency>
            <!-- Hibernate -->
            <!-- for JPA, use hibernate-entitymanager instead of hibernate-core -->
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-entitymanager</artifactId>
                <version>4.3.5.Final</version>
            </dependency>
            <!-- hSQLDB -->
            <dependency>
                <groupId>org.hsqldb</groupId>
                <artifactId>hsqldb</artifactId>
                <version>2.3.2</version>
            </dependency>
            <!-- Server Logging -->
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-log4j12</artifactId>
                <version>1.7.7</version>
                <scope>provided</scope>
            </dependency>
            <!-- GWT-Log -->
            <dependency>
                <groupId>com.allen-sauer.gwt.log</groupId>
                <artifactId>gwt-log</artifactId>
                <version>3.3.0</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.1</version>
                    <configuration>
                        <source>1.7</source>
                        <target>1.7</target>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>build-helper-maven-plugin</artifactId>
                    <version>1.8</version>
                </plugin>
                <plugin>
                    <groupId>org.eclipse.jetty</groupId>
                    <artifactId>jetty-maven-plugin</artifactId>
                    <version>9.2.1.v20140609</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>gwt-maven-plugin</artifactId>
                    <version>2.6.1</version>
                    <configuration>
                        <deploy>${project.build.directory}/gwtc/extra</deploy>
                        <extra>${project.build.directory}/gwtc/extra</extra>
                        <gen>${project.build.directory}/gwtc/gen</gen>
                        <!-- There's an issue on Mac: see http://code.google.com/p/google-web-toolkit/issues/detail?id=7474 
                            <workDir>${project.build.directory}/gwtc/work</workDir> <codeServerWorkDir>${project.build.directory}/gwtc/superDevMode</codeServerWorkDir> -->
                    </configuration>
                    <executions>
                        <execution>
                            <id>gwt-compile</id>
                            <phase>prepare-package</phase>
                            <goals>
                                <goal>compile</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <artifactId>maven-source-plugin</artifactId>
                    <version>2.2.1</version>
                    <executions>
                        <execution>
                            <id>attach-sources</id>
                            <phase>package</phase>
                            <goals>
                                <goal>jar-no-fork</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.tomcat.maven</groupId>
                    <artifactId>tomcat6-maven-plugin</artifactId>
                    <version>2.2</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.tomcat.maven</groupId>
                    <artifactId>tomcat7-maven-plugin</artifactId>
                    <version>2.2</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-war-plugin</artifactId>
                    <version>2.4</version>
                    <configuration>
                        <archive>
                            <addMavenDescriptor>false</addMavenDescriptor>
                        </archive>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

</project>

这看起来像是pom.xml中的错误。您可能忘了在部分中包含插件的组id,这将使maven假定默认的/automagic组id org.apache.maven.plugins

应该是这样的:

<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.2</version>
</plugin>
<build>
  <plugins>
    <plugin>
      <groupId>org.apache.tomcat.maven</groupId>
      <artifactId>tomcat7-maven-plugin</artifactId>
      ...

发布整个POM,以便我们检查。我成功地使用了该插件,根据您的解释,唯一的区别是我运行了Maven 3。我发布了整个POM.xml。我只是不想让帖子过多,但你是对的。起初,POM看起来还可以,但你要求两个插件,用于Tomcat6a
nd 7。我不知道这是否是一个问题,但是-除非有具体的原因-只要选择一个匹配您的服务器版本。这是出于两台机器之间的兼容性原因。我删除了tomcat6,但仍然没有用:它嵌套在pluginManagement标签中,但这应该可以,对吗?但是你是对的,它似乎在错误的组中寻找插件。实际上,你应该简单地删除标签,而不是内容,只是标签。这也许能解决问题,但为什么这是个问题呢?根据maven文档,它适用于从该版本继承的构建。这就是我们要做的。不,你没有真正继承它,因为你仍然需要一个引用pluginManagement元素的普通元素。它只需要包含groupId和artifactId字段,并将引入所有其他信息版本、配置等。。。根据插件管理中的定义。