我可以在一个maven项目中使用两个Vaadin版本(Vaadin7和Vaadin8)

问题描述 投票:4回答:2

我有一个与Dropwizard和Vaadin7合作的项目。我需要在不删除vaadin7代码的情况下将Vaadin8与现有环境一起使用。我可以使用Vaadin7和Vaadin8两个版本来运行我的项目吗?由于我是Vaadin的新手,任何人都可以帮助我解决如何解决这个问题的方向吗?

<dependency>
    <groupId>com.vaadin</groupId>
    <artifactId>vaadin-themes</artifactId>
    <version>7.5.10</version>
</dependency>
<dependency>
    <groupId>com.vaadin</groupId>
    <artifactId>vaadin-client-compiled</artifactId>
    <version>7.5.10</version>
</dependency>
<dependency>
    <groupId>com.vaadin</groupId>
    <artifactId>vaadin-client</artifactId>
    <version>7.5.10</version>
</dependency>

这是我目前的vaadin配置

java maven vaadin
2个回答
3
投票

如前所述,你不能在maven中指定两个相同依赖的版本,但在这种特殊情况下,你是否考虑使用与Vaadin 8 Migrating to Vaadin 8的兼容包?然后,您将能够使用*.v7.*导入访问Vaadin 7框架所需的类。如上面的链接中所述:

兼容包中对类的唯一更改是类路径的更改。所有兼容性类都可以在com.vaadin.v7。*下找到。例如,可以通过import import com.vaadin.v7.ui.TextField获得兼容性TextField,前提是项目依赖项已设置为包含兼容性变体,如上一节中所述。

这不是您正在寻找的确切解决方案,但希望至少有一点帮助。

附:此路径可能出现的问题是附加组件,如果它们尚未移植到Vaadin8中。然后,您将需要更新我们自己的依赖项并替换不兼容的依赖项。


5
投票

您不能在Maven中使用相同依赖项的两个版本,它将采用第一个版本。

只要您不在代码中使用COMMUNITY ADD-ONS,将版本升级到8就不会有问题。

我给你一个很好的指南,学习如何升级版本:Guide to upgrade vaadin

© www.soinside.com 2019 - 2024. All rights reserved.