如何强制依赖项包含具有特定版本号的工件

2024-02-29

尝试使用 Maven 构建 GWT 项目时出现此错误:

您的项目声明对 gwt-user 2.6.0 的依赖。这个插件是 至少为 gwt 版本 2.7.0 设计

我发现 gwt-user 2.6.0 是通过 com.google.gwt.eventbinder 下载的。 如何强制 com.google.gwt.eventbinder 使用 gwt-user 2.7.0 而不是 2.6.0?

奇怪的是,在我执行“git pull”之前,构建就起作用了。

这是我的 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>com.prognoz.ra.okhs</groupId>
<artifactId>gwtclient</artifactId>
<version>0.3.1-SNAPSHOT</version>

<packaging>war</packaging>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <gwt.version>2.7.0</gwt.version>
    <maven.version>3.0.5</maven.version>
    <jdk.version>1.7</jdk.version>
    <version.org.codehaus.mojo.gwt.maven.plugin>2.7.0</version.org.codehaus.mojo.gwt.maven.plugin>
    <webappDirectory>war</webappDirectory>
    <maven.build.timestamp.format>yyyy-MM-dd HH:mm</maven.build.timestamp.format>
    <skipTests>true</skipTests>
</properties>

<prerequisites>
    <maven>${maven.version}</maven>
</prerequisites>

<dependencies>
    <dependency>
        <groupId>org.moxieapps.gwt</groupId>
        <artifactId>highcharts</artifactId>
        <version>1.7.0</version>
        <scope>system</scope>
        <systemPath>${basedir}/src/main/webapp/WEB-INF/lib/highcharts-1.7.0.jar</systemPath>
    </dependency>

    <dependency>
        <groupId>com.prognoz.ra.dbutil</groupId>
        <artifactId>dbutil</artifactId>
        <scope>system</scope>
        <version>1.0.1-SNAPSHOT</version>
        <systemPath>${basedir}/out/artifacts/dbutil_jar/dbutil.jar</systemPath>
    </dependency>

    <dependency>
        <groupId>com.liferay.org.apache.commons.fileupload</groupId>
        <artifactId>com.liferay.org.apache.commons.fileupload</artifactId>
        <version>6.2.0.1</version>
    </dependency>

    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-io</artifactId>
        <version>1.3.2</version>
    </dependency>

    <dependency>
        <groupId>com.google.gwt</groupId>
        <version>${gwt.version}</version>
        <artifactId>gwt-servlet</artifactId>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jsp-api</artifactId>
        <version>2.0</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>18.0</version>
    </dependency>
    <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava-gwt</artifactId>
        <version>18.0</version>
    </dependency>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.17</version>
    </dependency>

    <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.3</version>
    </dependency>

    <dependency>
        <groupId>com.google.gwt.eventbinder</groupId>
        <artifactId>eventbinder</artifactId>
        <version>1.1.0</version>
    </dependency>
</dependencies>

<build>
    <resources>
        <resource>
            <directory>${basedir}/src/main/java</directory>
            <includes>
                <include>**/*.properties</include>
            </includes>
        </resource>
    </resources>
    <plugins>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>gwt-maven-plugin</artifactId>
            <version>${version.org.codehaus.mojo.gwt.maven.plugin}</version>
            <executions>
                <execution>
                    <goals>
                        <goal>compile</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
              <compileReport>true</compileReport>
              <logLevel>INFO</logLevel>
              <copyWebapp>true</copyWebapp>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
            <version>2.4</version>
        </plugin>

        <plugin>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.5</version>
            <configuration>

            </configuration>
        </plugin>

        <plugin>
            <artifactId>maven-deploy-plugin</artifactId>
            <version>2.8.2</version>
            <executions>
                <execution>
                    <id>deploy</id>
                    <phase>deploy</phase>
                    <goals>
                        <goal>deploy</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

        <plugin>
            <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat7-maven-plugin</artifactId>
            <version>2.2</version>
            <configuration>
                <url>http://localhost:8080/manager/text</url>
                <server>Tomcat8_local</server>
                <path>/ra-okhs</path>
            </configuration>
        </plugin>

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.2</version>
            <configuration>
                <source>${jdk.version}</source>
                <target>${jdk.version}</target>
            </configuration>
        </plugin>
    </plugins>
</build>

<profiles>
    <profile>
        <id>m2e</id>
        <activation>
            <property>
                <name>m2e.version</name>
            </property>
        </activation>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>gwt-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </build>
    </profile>
</profiles>

解决方案1

问题是 eventbinder 依赖于 gwt-user 工件。默认使用2.6.0,您可以使用此命令查看它。

mvn dependency:tree

如果你将此依赖块添加到你的 pom 中;

<dependency>
   <groupId>com.google.gwt</groupId>
   <artifactId>gwt-user</artifactId>
   <version>2.7.0</version>
</dependency>

它会看起来像这样......

这意味着您的项目将始终拥有 gwt-user 2.7.0,我还没有测试版本兼容性是否一切正常或者您的问题是否会得到解决。

解决方案2感谢@Thomas Broyer 的评论,我们可以强制 eventbinder 使用 2.7.0 gwt-user 或任何 gwt 依赖项。如果我们只是将这个依赖管理添加到我们的 pom 中

<dependencyManagement>
 <dependencies>
  <dependency>
    <groupId>com.google.gwt</groupId>
    <artifactId>gwt</artifactId>
    <version>2.7.0</version>
    <type>pom</type>
    <scope>import</scope>
  </dependency>
 </dependencies>
</dependencyManagement>

结果 :

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何强制依赖项包含具有特定版本号的工件 的相关文章

随机推荐

  • Google Maps API,需要购买吗? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我目前正在创建一个应用程序 iPhone iPad Android 它使用地图来显示租赁公司提供的房屋 该应用程序是free在所有商店 我已阅读条款并
  • Laravel 密码验证规则

    如何在验证器中添加密码验证规则 验证规则 密码包含以下五类中至少三类的字符 英文大写字符 A Z 英文小写字符 a z 10 基数 0 9 非字母数字 例如 或 统一码字符 如何在验证器规则中添加上述规则 我的代码在这里 create th
  • 在 php 中用分号分割 sql 语句(但不在引号内)

    当用户在自由格式字段中使用分号时 我的系统会导致错误 我将其追溯到一个简单的爆炸语句 array explode sql 因为该行位于从整个系统调用的子例程中 所以我想用可以正确拆分事物的内容替换该行 而不会破坏系统的其余部分 我认为 st
  • 在版本控制中维护 Visual Studio vcproj 项目文件的建议

    Microsoft Visual Studio 使用 XML 来保存其 vcproj项目文件 所以比较 XML 项目文件should很容易 不幸的是 如果您更改项目文件的任何属性 Visual Studio 会坚持随机打乱项目文件的 XML
  • 使用 Python Tkinter 通过单击按钮更改图像[重复]

    这个问题在这里已经有答案了 我想在按下按钮时显示 2 个不同的图像 我有两张图片和相应的 2 个按钮 我正在使用面板的配置功能来尝试更改图像 但无济于事 我将如何实现这个目标 谢谢你 import Tkinter as tk from PI
  • C++ 中的二义性函数

    我想知道为什么这些声明不起作用 不兼容 void f int p1 void f const int p2 void f int p3 void f const int p4 如果我理解得很好 编译器不会发现 int 和 const int
  • Python - 模拟链式函数调用

    我在单元测试下的方法之一中有以下声明 db employees self db session query Employee filter Employee dept new employee dept all 我希望 db employe
  • 有没有一种简单的方法可以在 Android Studio 中查看颜色?

    如果我搜索一种颜色 它会返回结果R java public static final int cardview light background 0x7f040027 如何查看此颜色代码 这是一个 ARGB 代码 我很难找到它 有没有简单的
  • 具有 View 属性的 SwiftUI 协议返回错误“类型‘任何视图’不能符合‘视图’”

    我想定义一个协议 该协议具有要从主视图层次结构中使用的视图属性 我定义了一个协议 该协议返回带有关联视图类型的 ViewBuilder 属性包装器 protocol protocol SimpleProtocol associatedtyp
  • 如何从图例中删除已使用的值?

    In Brief 我知道scale drop TRUE 可用于从图例中删除空因子水平 也许违反直觉 我试图放弃used情节的水平 正如您可能已经猜到的 这是一个稍微有点 hack 的用例 我使用隐形条geom bar抵消 浮动 的李克特反应
  • 在我的 CustomListAdapter 上实现 Filterable 接口后无法重新加载 ListView 内容

    我在这里有两个问题 第一个问题是 我实施后Filterable我的 CustomListAdapter 中的接口启用对列表数据的搜索 我意识到每次我尝试重新加载列表视图时 它都拒绝填充列表视图 即使我能够从服务器获取数据 我的 ListVi
  • UIActionSheet 单击/点击外部时关闭

    我是 iPhone 开发新手 谁能告诉我当我点击 UIActionSheet 控件外部时如何关闭它 在我的actionSheet中 我只有datePicker控件 它会在选项卡栏控件上弹出 现在每当用户在其外部单击时 它都应该关闭 而不是使
  • 将 Python 嵌入 C++

    Problem 将 Python 嵌入 C 时抛出奇怪的异常 Program bool embedd execute python std string location if std ifstream location const cha
  • Xcode 6 AFURLRequestSerialization 中的自动合成错误

    如何修复我在 Xcode 6 beta 上使用最新 AFNetworking 获得的属性streamStatus和streamError的警告 自动属性合成不会合成 因为它是可读写的 但它将通过另一个属性只读合成 https github
  • 使用 MiniProfiler 进行直接 ADO.net 调用

    对于那些 C 和分析器极客来说 这个问题很愚蠢 我是 C 新手 基本上是 C 开发人员 如果使用的话我可以分析数据库查询dbproviderfactory 但我无法在直接使用 ado net 调用时分析它 原始SqlConnection S
  • GlobalSession 范围的 beans 是否从 spring 5 中删除了?为什么?

    1 Spring 5 中是否删除了全局会话范围的 beans 官方文档不再提及 SCOPE GLOBAL SESSION 不再是 RequestAttributes 的一部分 春季 4 https docs spring io autore
  • 无法在 OSX yosemite 上构建 Java 项目

    我被以下错误阻止 com sun tools javac util Context put Ljava lang Class Ljava lang Object V 这是完整的跟踪 project git master gradle jar
  • Ruby 中的计时器性能

    我正在寻找一个演示 ruby 计时器的在线示例 并发现了下面的代码 它按预期工作 但是这个简单的程序使用 30Mo 内存 如 Windows 任务管理器中所示 和太多的 CPU 有意义吗 多谢 def time block start ti
  • 选择 pandas 中多索引列的子级别

    我生成一个像这个例子一样的多索引数据框 import pandas as pd import numpy as np iterables co1 co2 co3 co4 age weight multi pd MultiIndex from
  • 如何强制依赖项包含具有特定版本号的工件

    尝试使用 Maven 构建 GWT 项目时出现此错误 您的项目声明对 gwt user 2 6 0 的依赖 这个插件是 至少为 gwt 版本 2 7 0 设计 我发现 gwt user 2 6 0 是通过 com google gwt ev