1

在 Vaadin 8 中,我能够检索版本信息

com.vaadin.shared.Version.getFullVersion()

在 Vaadin Flow 中,我找不到获取当前版本的方法,至少不是我预期的版本。我找到了这个

com.vaadin.flow.server.Version.getFullVersion()

但返回值1.2.2不是预期的12.0.0。我猜它是服务器版本或什么的..

如何在 vaadin 流程中正确获取使用过的 vaadin 框架版本?

4

3 回答 3

4

获得 Vaadin 版本的一种可能方法是使用

VaadinCoreShrinkWrap.class.getAnnotation(NpmPackage.class).version()

不是最佳的,但它应该可以工作。

这种方法从 Vaadin 14 开始有效。它会导致旧版本出错。

于 2019-11-06T09:53:13.290 回答
3

从 10 开始,Vaadin 版本没有自己的任何内容,甚至没有版本号标记。它只是一组经过测试可以很好地协同工作的依赖版本。

com.vaadin.flow.server.Version.getFullVersion()给出 Vaadin Flow 依赖的版本。在大多数情况下,出于技术目的,这是一个更相关的版本号。

Vaadin 10 和 Vaadin 11 使用 Flow 1.0.x,而 Vaadin 12 使用 1.2.x 版本。Vaadin 13 最有可能使用 Flow 版本 1.3.x 或 2.0.x,具体取决于届时将包含多大的更改。

于 2018-12-07T10:49:51.253 回答
1

如果您想显示 Vaadin 版本而不是 Flow 版本,我会看到一个选项来实现它,但它需要更多代码和一些 Maven 配置。

你应该

  • 创建一个包含该行的属性文件vaadin.version=${vaadin.version}
  • 确保该文件包含在 maven-resources-plugin 过滤的资源中,并在您构建配置中使用以下内容:
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
                <includes>
                    <include>**/config.properties</include>
                </includes>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>false</filtering>
                <excludes>
                    <exclude>**/config.properties</exclude>
                </excludes>
            </resource>
        </resources>
  • 读取属性文件并获取版本属性的值
Properties properties = new Properties();
properties.load(MainView.class.getResourceAsStream("config.properties"));
properties.get("vaadin.version");
于 2019-03-27T07:06:01.993 回答