Как настроить плагин WAR в подпроекте в скрипте сборки Gradle (Kotlin)

#kotlin #gradle #war

#kotlin #gradle #Война

Вопрос:

Я создаю проект Gradle с несколькими вложенными модулями, и одному модулю нужен war плагин, я просто хочу настроить каталог веб-приложения, но код не работает:

 apply {
    plugin("war")
    plugin("org.gretty")
}

// cannot work
tasks.getByName("war") {
    from("src/main/webfiles")
}

// cannot work either
tasks.war {
    webAppDirName = "src/main/webfiles"
}

//... other code
 

Вот как я кодирую в файле подпроекта subproject.gradle.kts , как это решить? Спасибо за любую помощь!

Комментарии:

1. что вы подразумеваете под «не может работать»: есть ли у вас какие-либо ошибки в журналах? в вашем скрипте подпроекта вы не указываете версию org.gretty плагина (версия требуется для неосновных плагинов), но, возможно, вы установили версию в корневой сборке проекта с помощью чего-то вроде plugins { id ("org.gretty") version "3.0.3" apply false } ?

2. @M.Ricciuti спасибо за ваш комментарий, я действительно добавляю plugins { id ("org.gretty") version "3.0.3" apply false } в свой корневой проект сценарий сборки gradle, это сценарий подпроекта, теперь я решил проблему, сервер работает нормально.

Ответ №1:

Решаемая с помощью кода:

 configure<WarPluginConvention>{
    webAppDirName = "src/main/webfiles"
}