由gradle创建的war文件中缺少Vaadin依赖项

时间:2014-07-31 13:16:43

标签: gradle vaadin war

我尝试使用gradle和Vaadin gradle插件构建war文件。 在创建的工件中,缺少Vaadin服务器jar。

所有必要的Vaadin依赖项都包含在使用gradle eclipseClasspath和eclipseProject创建的eclipse项目中

在执行gradle war时使用-info我在类路径中看到了服务器依赖关系和依赖关系解析。

这是gradle -v输出

------------------------------------------------------------
Gradle 1.10
------------------------------------------------------------

Build time:   2013-12-17 09:28:15 UTC
Build number: none
Revision:     36ced393628875ff15575fa03d16c1349ffe8bb6

Groovy:       1.8.6
Ant:          Apache Ant(TM) version 1.9.2 compiled on July 8 2013
Ivy:          2.2.0
JVM:          1.7.0_21 (Oracle Corporation 23.21-b01)
OS:           Windows 7 6.1 amd64

这里是vaadin gradle插件配置,我使用版本0.7

vaadin {
   version = versions.vVaadin
   manageDependencies = false
   manageRepositories = false
   widgetset = 'de.mdsts.besprechungstool.BesprechungsToolWidgetset'
   gwt.jvmArgs = ['-Xmx512M', '-Xss1024k']
   gwt.strict = false
   gwt.userAgent = 'ie8,ie9,ie10,gecko1_8,safari,opera'
}

这是我第一次使用gradle,欢迎任何帮助。

更新: 这是传递依赖的问题。感谢Alex的链接。

gradle:dependencies 显示了这一点:

    providedCompile - Additional compile classpath for libraries that should not be part of the WAR archive.
    +--- com.vaadin:vaadin-client-compiler:7.1.13
    |    +--- com.vaadin:vaadin-shared:7.1.13
    |    |    \--- com.vaadin:vaadin-shared-deps:1.0.2
    |    +--- com.vaadin:vaadin-server:7.1.13
    |    |    +--- com.vaadin:vaadin-shared:7.1.13 (*)'

在我使用的构建文件中

providedCompile("com.vaadin:vaadin-client-compiler:$versions.vVaadin") {
    transitive = true'
}

使用 false 修复它。

1 个答案:

答案 0 :(得分:1)

我对Gradle + Vaadin有同样的问题。互联网表明它可能与提供的编译屏蔽传递依赖关系: gradle providedCompile for gwt-user/dev causes other jars to disappear from WAR