Maven &引用;目标更新主题需要Vaadin 7.1或更高版本;
我想做的就是扩展现有的Vaadin主题“Valo” 我用的是IntelliJ和Maven 在我的UI类中:Maven &引用;目标更新主题需要Vaadin 7.1或更高版本;,maven,intellij-idea,vaadin,vaadin7,Maven,Intellij Idea,Vaadin,Vaadin7,我想做的就是扩展现有的Vaadin主题“Valo” 我用的是IntelliJ和Maven 在我的UI类中: @Theme("myTheme") ... public class MyUI extends UI { ... } 我在src/main/webapp/VAADIN/themes/myTheme中添加了styles.scs,其中包含以下内容: $v-font-size: 12px; $v-unit-size: 26px; $v-unit-size--small: 20px;
@Theme("myTheme")
...
public class MyUI extends UI {
...
}
我在src/main/webapp/VAADIN/themes/myTheme中添加了styles.scs,其中包含以下内容:
$v-font-size: 12px;
$v-unit-size: 26px;
$v-unit-size--small: 20px;
$v-unit-size--tiny: 18px;
$v-layout-margin-top: 18px;
$v-layout-margin-right: 18px;
$v-layout-margin-bottom: 18px;
$v-layout-margin-left: 18px;
$v-layout-spacing-vertical: 7px;
$v-layout-spacing-horizontal: 6px;
@import "../valo/valo";
在我的pom.xml中,我包含了以下依赖项:
<dependency>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-themes</artifactId>
<version>${vaadin.version}</version>
</dependency>
编译项目时,我遇到以下错误:
[ERROR]无法执行目标com.vaadin:vaadin maven plugin:7.6.0.alpha2:update
项目分类工具webapp上的e主题(默认):目标更新主题
equires Vaadin 7.1或更高版本->[Help 1]
TL;DR
确保您具有正确的依赖关系
<dependency>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-shared</artifactId>
<version>${vaadin.version}</version>
</dependency>
简而言之,它遍历所有依赖项,查找com.vaadin:vaadin与特定版本共享。它不检查实际的jar,而是检查它们的maven元数据。这意味着您可能已经拥有了正确的JAR,例如:
<dependency>
<groupId>vaadin-shared-7.7.12</groupId>
<artifactId>vaadin-shared-7.7.12</artifactId>
<version>0</version>
<scope>system</scope>
<systemPath>lib/vaadin-shared-7.7.12.jar</systemPath>
</dependency>
vaadin-shared-7.7.12
vaadin-shared-7.7.12
0
系统
lib/vaadin-shared-7.7.12.jar
但是签入Vaadin maven插件仍然会失败。你会得到一个例外
目标更新主题需要Vaadin 7.1或更高版本
反之亦然-您可以“欺骗”具有以下特性的插件:
<dependency>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-shared</artifactId>
<version>${vaadin.version}</version>
<scope>system</scope>
<systemPath>lib/fake.jar</systemPath>
</dependency>
com.vaadin
瓦丁共享
${vaadin.version}
系统
lib/fake.jar
(其中fake.jar不是vaadin shared.jar),您将通过检查(主题编译将无法工作,因为您需要任何一种方式的类)。
因此,该异常的解决方案是确保使用正确的版本共享正确的vaadin。不按“需要更长时间”中的方式加载,并且所有内容都未设置样式?你有错误吗?如果您的VaadinServlet在生产模式下运行,则必须将styles.CSS安装到位。在调试模式下,它将动态编译SCS-但您必须了解如何为您的胖jar/war编译主题。我已经更新了我的问题,并尝试更具体。我不使用maven,因此无法测试,但该错误也可能是误报。您可能想尝试7.5.10-而且当前的7.6是Beta2。您的Maven属性
${vaadin.version}
定义在哪里?您好,您是否设法解决了此错误?我也面临同样的问题
protected boolean isAtLeastVaadinVersion(int major, int minor) {
// find "vaadin-shared" and check its version
for (Artifact artifact : getProjectArtifacts()) {
if (VAADIN_GROUP_ID.equals(artifact.getGroupId())
&& "vaadin-shared".equals(artifact.getArtifactId())) {
// TODO this is an ugly hack because Maven does not tolerate
// version numbers of the form "7.1.0.beta1"
String artifactVersion = artifact.getVersion();
(...)
<dependency>
<groupId>vaadin-shared-7.7.12</groupId>
<artifactId>vaadin-shared-7.7.12</artifactId>
<version>0</version>
<scope>system</scope>
<systemPath>lib/vaadin-shared-7.7.12.jar</systemPath>
</dependency>
<dependency>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-shared</artifactId>
<version>${vaadin.version}</version>
<scope>system</scope>
<systemPath>lib/fake.jar</systemPath>
</dependency>