获取流中的Vaadin版本

获取流中的Vaadin版本,vaadin,vaadin-flow,Vaadin,Vaadin Flow,在Vaadin8中,我能够使用 com.vaadin.shared.Version.getFullVersion() 在Vaadin Flow中,我找不到获得当前版本的方法,至少不是我期望的版本。我找到了这个 com.vaadin.flow.server.Version.getFullVersion() 但返回值为1.2.2,而不是预期的12.0.0。我猜是服务器版本还是别的什么 如何在vaadin flow中正确获取使用过的vaadin framework版本?从10开始,vaadin版本

在Vaadin8中,我能够使用

com.vaadin.shared.Version.getFullVersion()
在Vaadin Flow中,我找不到获得当前版本的方法,至少不是我期望的版本。我找到了这个

com.vaadin.flow.server.Version.getFullVersion()
但返回值为1.2.2,而不是预期的12.0.0。我猜是服务器版本还是别的什么


如何在vaadin flow中正确获取使用过的vaadin framework版本?

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

com.vaadin.flow.server.Version.getFullVersion提供了vaadin流依赖项的版本。在大多数情况下,出于技术目的,这是一个更相关的版本号


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

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

com.vaadin.flow.server.Version.getFullVersion提供了vaadin流依赖项的版本。在大多数情况下,出于技术目的,这是一个更相关的版本号


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

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

你应该

创建包含行vaadin.version=${vaadin.version}的属性文件 确保该文件包含在maven resources插件筛选的资源中,并在构建配置中使用如下内容:
如果您想显示Vaadin版本而不是Flow版本,我可以看到一个选项来实现它,但它需要更多的代码和一些maven配置

你应该

创建包含行vaadin.version=${vaadin.version}的属性文件 确保该文件包含在maven resources插件筛选的资源中,并在构建配置中使用如下内容:
获得Vaadin版本的一种可能方法是使用

VaadinCoreShrinkWrap.class.getAnnotationNpmPackage.class.version 不是最优的,但它应该有效


这种方法从Vaadin 14开始工作。这将导致旧版本出现错误。

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

VaadinCoreShrinkWrap.class.getAnnotationNpmPackage.class.version 不是最优的,但它应该有效


这种方法从Vaadin 14开始工作。它将导致旧版本出错。

您是否尝试过getMajorVersion而不是FullVersion…api有不同的方法:您是否尝试过getMajorVersion而不是FullVersion…api有不同的方法:Vaadin 13使用flow 1.4.x,Vaadin 14最有可能使用flow 1.5.x或2.0.x,根据Vaadin 13使用flow 1.4.x和Vaadin 14最有可能使用flow 1.5.x或2.0.x版本,这取决于Vaadin 13将包含多大的更改,您将。。。在POM里?另外,当您说vaadin.version=${vaadin.version}时,您的意思是字面上的${vaadin.version},还是我们需要将其硬编码到属性文件本身?那么,我们可以将其保留为vaadin.version=${vaadin.version},还是需要将其替换为vaadin.version=13.0.9(当然,假设我的vaadin版本为13.0.9)?您可以将其添加到build标记中,以便maven resources插件考虑它。这将包括过滤文件中的属性文件,对于过滤文件,${vaadin.version}将被pom中定义的vaadin.version属性值替换。类似的用例,但是对于project.version来说是在哪里完成的。。。在POM里?另外,当您说vaadin.version=${vaadin.version}时,您的意思是字面上的${vaadin.version},还是我们需要将其硬编码到属性文件本身?那么,我们可以将其保留为vaadin.version=${vaadin.version},还是需要将其替换为vaadin.version=13.0.9(当然,假设我的vaadin版本为13.0.9)?您可以将其添加到build标记中,以便maven resources插件考虑它。这将包括过滤文件中的属性文件,对于过滤文件,${vaadin.version}将被pom中定义的vaadin.version属性值替换。类似的用例,但project.version在中完成
        <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");