我尝试使用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 修复它。
答案 0 :(得分:1)
我对Gradle + Vaadin有同样的问题。互联网表明它可能与提供的编译屏蔽传递依赖关系: gradle providedCompile for gwt-user/dev causes other jars to disappear from WAR