我正在使用war插件为我在Gradle中的项目生成一个简单的.war文件。我想知道如何配置gradle,这样我就可以创建4个不同的.war文件,这些文件具有不同的依赖关系。
下面的示例创建了一个只包含一个jar的war文件,但我希望使用不同的jar生成5个不同的.war文件。
Build.Gradle
apply plugin: 'java'
apply plugin: 'war'
dependencies {
compile files('/lib/qas.jar','/lib/axis1-1.4.jar','/lib/axis2-kernel-1.3.jar','/lib/dom4j-1.6.1.jar','/lib/log4j-1.2.14.jar')
providedCompile files('/lib/j2ee-1.4.03.jar')
}
war {
classpath = ['/lib/qas.jar']
}
task dist(dependsOn: 'war') << {
copy {
from war.archivePath
into "dist/"
}
}
我有点搞不清你到底要构建多少个战争发行版。您可以轻松地修改它以创建额外的WAR文件。以下是实现这一目标的一种方法:
task createStandardWar(type: War, dependsOn: classes) {
baseName = 'standard'
destinationDir = file("$buildDir/dist")
}
task createStandardWarQasOnly(type: War, dependsOn: classes) {
baseName = 'standard-qas-only'
destinationDir = file("$buildDir/dist")
classpath = war.classpath.minus(files('/lib/axis1-1.4.jar','/lib/axis2-kernel-1.3.jar','/lib/dom4j-1.6.1.jar','/lib/log4j-1.2.14.jar'))
}
task createStandardWarQasAndLog4J(type: War, dependsOn: classes) {
baseName = 'standard-qas-log4j'
destinationDir = file("$buildDir/dist")
classpath = war.classpath.minus(files('/lib/axis1-1.4.jar','/lib/axis2-kernel-1.3.jar','/lib/dom4j-1.6.1.jar'))
}
task createDists(dependsOn: [createStandardWar, createStandardWarQasOnly, createStandardWarQasAndLog4J])
这个构建脚本摘录通过声明WAR类型的增强任务创建了三个不同的WAR文件。它假设您仍然希望在WAR文件中的web-inf/classes
下拥有已编译的源文件,所以我没有将其从类路径中删除。发行版最终位于build/dist
目录中。任务createdists
将创建所有这些元素。
我当前的jar在build中。gradle如下所示: 而且工作得很好。 然而,我有一个来自格雷德的消息(可能是从6号开始?) 这是实际消息: 零件<代码>配置。不推荐使用compile。 如何更新? 如果我改变了 Gradle说
我试图使用gradle和以下指令指定一些jar依赖项: http://gradle.org/docs/current/userguide/dependency_management.html#sub:file_dependencies 当我从windows cmd运行gradle时,我得到: 我错过了什么?
在app.gradle中,我只为专业版添加了LockPattern库: 我在两种风格中都描述了相同的类(所以在主文件夹中),因为它很大,我不想在两种风格中重复代码。pro版本成功构建,但lite版本显示了一个错误,因为我没有导入lite版本的依赖项。 我看到的一个解决方案是将lockpattern库添加到两种口味中,然后使用proGuard,将其从lite口味中删除。虽然我相信这可能奏效,但这可能
我使用下面的代码创建了20篇帖子,每个帖子都有3条评论。 相反,我想创建20个帖子,每个帖子都有随机数量的评论(例如,帖子1有2个评论,帖子2有4个评论,等等)。) 这不起作用,每个帖子都有相同(随机)数量的评论。 我怎样才能做到这一点?
我尝试使用gradle build的以下格式创建一个jar库,以便以后可以将其作为jar包导入该项目中的其他人。但是,生成的jar只有一个清单文件,没有java文件。 这些文件在Eclipse中的一个包中。 感恩节。
我想创建一些依赖于其他一些(第三方)jar的bundles(这是否是一个好的实践是另一个话题) 我可以使用gradle生成一个fat jar(它有所有依赖的jar)和osgi清单 我的项目布局将jar存储在libs/文件夹中,第三方jar(例如ibm.jar)位于jar的根中。 我将我的gradle任务是使用osgi插件与一些基本的osgi指令,我只指定了出口包作为我的程序的包手动,但没有其他3个