javaee プロジェクトを ant から gradle に移行しようとしています。私の最終的な目標は、gradle を介して桟橋でプロジェクトを実行できるようにすることです。そのためにgrettyプラグインを使いたいです。Intellij IDEA CE 2018.1 でデフォルトの gradle ラッパーを使用しています
grtty の 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ソースコードをチェックしましたが、例外が発生しました。
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'
}
これを修正するにはどうすればよいですか?
前もって感謝します