Добавить дополнительный исходный набор в Gretty classpath
Мой проект содержит jar
и war
модуль. jar
модуль содержит исходные наборы main
а также generated
,
мой jar
модуль gradle.build
определяет исходные наборы, как указано ниже:
sourceSets {
generated
main {
compileClasspath += sourceSets.generated.output // adds the sourceSet to the compileClassPath
runtimeClasspath += sourceSets.generated.output // adds the sourceSet to the runtimeClasspath
}
}
и помещает вывод обоих исходных наборов в банку.
jar {
from sourceSets.generated.output
from sourceSets.main.output
}
В моем war
Модуль Я хотел бы использовать Gretty для запуска в сборке. build.gradle
Файл выглядит так.
apply plugin: 'war'
apply from: "${rootDir}/gradle/gretty.gradle"
gretty {
// supported values:
// 'jetty7', 'jetty8', 'jetty9', 'tomcat7', 'tomcat8'
servletContainer = 'tomcat8'
httpPort = 8081
contextPath = '/wbc'
realm 'wbc-realm'
realmConfigFile 'tomcat-users.xml'
}
dependencies {
compile project(':interfaces')
compile "org.atmosphere:atmosphere-runtime:${atmosphereVersion}"
compile "org.springframework:spring-web:${springVersion}"
compile "javax.servlet:javax.servlet-api:${servletVersion}"
runtime "org.slf4j:slf4j-log4j12:${slf4jVersion}"
runtime "log4j:log4j:1.2.17"
}
Всякий раз, когда я начинаю использовать Гретти gradle --daemon clean appRun
Гретти не может запустить Tomcat из-за ClassNotFoundException
, Этот класс находится в generated
исходный набор моего jar
модуль. Как я могу сказать Гретти добавить его в classpath?
1 ответ
Решение
Попробуйте добавить выходные каталоги сгенерированного в gretty classPath:
gretty {
...
sourceSets.generated.output.each { classPath it }
}