gpt4 book ai didi

gradle - 没有方法签名:静态org.akhikhl.gretty.ProjectUtils.getClassPath()

转载 作者:行者123 更新时间:2023-12-03 04:20:05 25 4
gpt4 key购买 nike

我正在尝试将Javaee项目从ant迁移到gradle。我的最终目标是能够通过gradle在 jetty 上运行该项目。我想为此使用gretty插件。我在Intellij IDEA CE 2018.1中使用默认的gradle包装器

当我启动gretty的appStart任务时,出现错误:

Caused by: groovy.lang.MissingMethodException: No signature of method: static org.akhikhl.gretty.ProjectUtils.getClassPath() is applicable for argument types: (org.gradle.api.internal.project.DefaultProject_Decorated, null, java.lang.String) values: [project ':myProject', null, runtime]

我的项目目录结构与gradle期望的默认目录结构不同。我检查了灰色的源代码,异常来自;

gretty / libs / gretty / src / main / groovy / org / akhikhl / gretty / StartBaseTask.groovy:212
resolvedClassPath.addAll(ProjectUtils.getClassPath(proj, wconfig.inplace, runtimeConfig))
wconfig.inplace部分返回 null。我想我需要在 build.gradle文件中设置一些内容,但我不知道它是什么。我文件的内容:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'org.akhikhl.gretty:gretty:+'
}
}

apply plugin: 'java'
apply plugin: 'war'
apply plugin: 'ear'
apply plugin: 'org.akhikhl.gretty'

repositories {
jcenter()

flatDir {
dirs '../Libs'
}
}

sourceSets {
main {
java {
srcDirs = ["src"]
}

resources {
srcDir 'WebContent/resources'
}
}


test{
java {
srcDirs=["test"]
}
}
}

dependencies {
compile 'javax.servlet:javax.servlet-api:3.1.0'

testCompile 'junit:junit:4.12'

compile 'junit:junit:4.12'
// more dependencies...
}


gretty {
httpPort = 8080
contextPath = '/myProject'
servletContainer = 'jetty9'
webAppDirName = '/WebContent'
}

我该如何解决?

提前致谢

最佳答案

可能是Gretty错误。尝试将inplace = false添加到您的配置中作为解决方法:

gretty {
servletContainer = 'jetty9.4'
httpPort = 8080
inplace = false
}

关于gradle - 没有方法签名:静态org.akhikhl.gretty.ProjectUtils.getClassPath(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51404682/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com