im cercando di cambiare il nostro processo di costruzione da Maven a Gradle (V 2.9). In Maven stavo usando precompilazione per JSP è come questo:Precompila JSP con Gradle
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-jspc-maven-plugin</artifactId>
<version>9.2.7.v20150116</version>
<executions>
<execution>
<phase>package</phase>
<id>jspc</id>
<goals>
<goal>jspc</goal>
</goals>
<configuration>
<excludes>**\/*inc_page_bottom.jsp,**\/*inc_page_top.jsp</excludes>
<includes>**\/*.jsp</includes>
</configuration>
</execution>
</executions>
</plugin>
e stava funzionando benissimo. Ora sto cercando di trovare un modo per fare lo stesso con gradle. Ho trovato alcuni esempi di informazioni/build.gradle ma niente funzionava davvero. Im utilizza attualmente Tomcat 7 come servlet container e sto pianificando di passare tra alcune settimane a 8. Sarebbe perfetto naturalmente compilarli per il container servlet di destinazione ma, prima di tutto, sarei felice di precompilarli del tutto come se stessi facendo questo con Maven per/con pontile.
Una parte del mio build.gradle attuale, che mi dà un errore:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.bmuschko:gradle-tomcat-plugin:2.2.4'
}
}
apply plugin: 'com.bmuschko.tomcat'
tomcat {
jasper {
validateXml = true
errorOnUseBeanInvalidClassAttribute = false
compilerSourceVM = "1.8"
compilerTargetVM = "1.8"
}
}
task compileJsps(type: JavaCompile, dependsOn: 'clean') {
dependsOn tomcatJasper
group = 'build'
description = 'Translates and compiles JSPs'
classpath = configurations.tomcat + sourceSets.main.output + sourceSets.main.runtimeClasspath
sourceCompatibility = "1.8"
targetCompatibility = "1.8"
destinationDir = file("$buildDir/jasper-classes")
sourceSets {
main {
java {
srcDir "$buildDir/jasper"
}
}
}
}
dependencies {
def tomcatVersion = '7.0.59'
tomcat "org.apache.tomcat.embed:tomcat-embed-core:${tomcatVersion}",
"org.apache.tomcat.embed:tomcat-embed-logging-juli:${tomcatVersion}",
"org.apache.tomcat.embed:tomcat-embed-jasper:${tomcatVersion}"
}
Im ottenendo il seguente errore:
:tomcatJasper FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':tomcatJasper'.
> org.apache.jasper.JasperException: file:/xxx/xxx/xxx/xxx/src/main/webapp/index.jsp (line: 6, column: 0) The value for the useBean class attribute xxx.xxx.xxx.XxxXxx is invalid.
Eseguendo questo jsp in Tomcat 7 funziona bene ... Qualcuno ha un howto aggiornato o un suggerimento?
Avete mai una risposta su questo? Sto vedendo lo stesso problema in Maven dove un <% @ include file = "directives.jsp"%> funziona sul server ma non nel contesto di precompilazione –
Sfortunatamente no (e non ho trovato alcuna soluzione da solo ...) – StephanM
Abbiamo rinunciato anche a favorire un sollevamento del jdt-core del jetty per ottenere un compilatore jasper compatibile con jre 18u112 –