我有一个JAX项目,它在gradle上有一个jetty插件.我想用gretty替换jetty插件,因为在gradle 4和其他版本中不支持jetty。运行gretty插件时,我会跟踪错误。
任务“:appRunWar”执行失败。
java.lang.Exception: com/sun/jersey/spi/InjectableProvider
包含jetty插件的build.gradle代码
apply plugin: 'java'
apply plugin: 'war'
apply plugin: 'jetty'
apply plugin: 'eclipse'
jettyRun {
httpPort = 8080
reload = 'automatic'
scanIntervalSeconds = 2
daemon = false
}
//other things....用gretty替换码头的build.gradle代码
apply plugin: 'java'
apply plugin: 'war'
apply from: 'https://raw.github.com/akhikhl/gretty/master/pluginScripts/gretty.plugin'
apply plugin: 'eclipse'
gretty {
httpPort = 8080
//contextPath = '/'
servletContainer = 'jetty9'
httpEnabled = true
}
//other things...发布于 2018-05-01 19:38:53
首先,不要使用阿希赫尔 gretty,因为它不再被维护,并且在某些jetty版本上表现出困难。jetty94和jetty93.此外,Java 9和10不受支持。相反,您应该依赖plugin,它是一个直接维护的分叉:
plugins {
id 'java'
id 'war'
id 'eclipse'
id 'org.gretty' version '2.1.0'
}
gretty {
//contextPath = '/'
}
//other things...您为gretty提供的配置是默认配置,您可以删除它。
ServerConfig.groovy中的默认配置如下所示:
static ServerConfig getDefaultServerConfig(String serverName) {
ServerConfig result = new ServerConfig()
result.jvmArgs = []
result.servletContainer = 'jetty9'
result.managedClassReload = false
result.httpEnabled = true
result.httpsEnabled = false
result.interactiveMode = 'stopOnKeyPress'
result.scanInterval = 1
result.loggingLevel = 'INFO'
result.consoleLogEnabled = true
result.fileLogEnabled = true
result.logFileName = serverName
result.redeployMode = 'restart'
result.logDir = "${System.getProperty('user.home')}/logs" as String
result.scanner = 'jetty'
result.portPropertiesFileName = 'gretty_ports.properties'
result.liveReloadEnabled = false
return result
}请注意,gretty插件可以在'org.gretty'找到,因为Akhikhl的gretty位于'org.akhikhl.gretty'。如果您的错误仍然存在,请提供完整的堆栈跟踪,并相应地更新您的答案。
https://stackoverflow.com/questions/50119925
复制相似问题