在Vaadin 8中,我可以使用
来检索版本信息。com.vaadin.shared.Version.getFullVersion()
在Vaadin Flow中,我找不到一种获取当前版本的方法,至少不是我期望的版本。我找到了这个
com.vaadin.flow.server.Version.getFullVersion()
,但是返回值为1.2.2
,而不是预期的12.0.0
。我想这是服务器版本或其他版本。
如何在vaadin流中正确获取使用的vaadin框架版本?
答案 0 :(得分:3)
获取Vaadin版本的一种可能方法是使用
VaadinCoreShrinkWrap.class.getAnnotation(NpmPackage.class).version()
不是最佳选择,但应该可以使用。
此方法从Vaadin 14开始起作用。它将导致旧版本的错误。
答案 1 :(得分:2)
从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,具体取决于届时将包含多少更改。
答案 2 :(得分:1)
如果要显示Vaadin版本而不是Flow版本,我会看到一种实现方法,但是它需要更多代码和一些maven配置。
您应该
vaadin.version=${vaadin.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");