首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将jetty插件替换为gretty插件级时出错

将jetty插件替换为gretty插件级时出错
EN

Stack Overflow用户
提问于 2018-05-01 16:10:41
回答 1查看 5.2K关注 0票数 1

我有一个JAX项目,它在gradle上有一个jetty插件.我想用gretty替换jetty插件,因为在gradle 4和其他版本中不支持jetty。运行gretty插件时,我会跟踪错误。

任务“:appRunWar”执行失败。

java.lang.Exception: com/sun/jersey/spi/InjectableProvider

包含jetty插件的build.gradle代码

代码语言:javascript
复制
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代码

代码语言:javascript
复制
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...
EN

回答 1

Stack Overflow用户

发布于 2018-05-01 19:38:53

首先,不要使用阿希赫尔 gretty,因为它不再被维护,并且在某些jetty版本上表现出困难。jetty94和jetty93.此外,Java 9和10不受支持。相反,您应该依赖plugin,它是一个直接维护的分叉:

代码语言:javascript
复制
plugins {
    id 'java'
    id 'war'
    id 'eclipse'
    id 'org.gretty' version '2.1.0'
}

gretty {
    //contextPath = '/'
}

//other things...

您为gretty提供的配置是默认配置,您可以删除它。

ServerConfig.groovy中的默认配置如下所示:

代码语言:javascript
复制
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'。如果您的错误仍然存在,请提供完整的堆栈跟踪,并相应地更新您的答案。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50119925

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档