Kir*_*sen 7 jetty embedded-jetty gradle
我有你的磨机Gradle web应用程序项目的基本运行,它工作正常,但我注意到Gradle的运行时类路径被包含在可能与Web应用程序冲突的jetty中.
请注意,gradle使用的是较旧版本的logback,并且SL4J警告它在类路径中发现了多个绑定.
:jettyRun
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/C:/dev/java/tools/gradle-1.0-milestone-5/lib/logback-classic-0.9.29.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/C:/Users/kirk.rasmussen/.gradle/caches/artifacts-3/ch.qos.logback/logback-classic/fd9fe39e28f1bd54eee47f04ca040f2b/jars/logback-classic-0.9.30.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
Run Code Online (Sandbox Code Playgroud)
有没有办法在运行jettyRun任务时排除gradle运行时类路径?我正在使用最新的1.0里程碑5版Gradle.
我正在寻找Ant中javac任务中'includeAntRuntime'的内容.
http://ant.apache.org/manual/Tasks/javac.html
includeAntRuntime是否在类路径中包含Ant运行时库; 默认为yes,除非设置了build.sysclasspath.通常最好将其设置为false,以便脚本的行为对运行它的环境不敏感.
剥离build.gradle:
apply plugin: 'groovy'
apply plugin: 'war'
apply plugin: 'jetty'
jettyRun {
contextPath = ''
}
Run Code Online (Sandbox Code Playgroud)
正如jettyRun任务手册中所述,它有一个classpath默认设置为 的属性project.sourceSets.main.runtimeClasspath。您可以将此属性设置为您选择的类路径:
configurations{
myJettyRuntime
}
dependencies{
myJettyRuntime "group:name:version"
...
}
jettyRun{
classpath = configurations.myJettyRuntime
}
Run Code Online (Sandbox Code Playgroud)
或者,您可以分别使用-=和+=运算符从该类路径中添加或删除不需要的或冲突的依赖项。
jettyRun{
classpath -= configurations.myExcludedConf
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4439 次 |
| 最近记录: |