Geben Sie den Krieg in gradle ist tomcatRunWar
Ich Spiele mit dem tomcat plugin für gradle und in meinem build/tmp/tomcatRun/Arbeit/Tomcat/localhost/myWebApp Verzeichnis seiner leere. Gibt es eine Möglichkeit für mich, um den Speicherort anzugeben, von meinem Krieg bereitstellen?
Versuchte ich
[tomcatRun, tomcatRunWar]*.destinationDir= new File("$buildDir/libs").getAbsoluteFile().getPath()
und
[tomcatRun, tomcatRunWar]*.warDirectory= new File("$buildDir/libs").getAbsoluteFile().getPath()
Update
Habe ich die build-Skripte unter. Wenn ich meine neuen Aufgaben, die ich habe ausgeführt
gradle build integrationTest
Hier ist ein Ausschnitt aus der übergeordneten bauen.gradle:
buildscript {
repositories {
add(new org.apache.ivy.plugins.resolver.URLResolver()) {
name = 'GitHub'
addArtifactPattern 'http://cloud.github.com/downloads/[organisation]/[module]/[module]-[revision].[ext]'
}
}
dependencies {
classpath 'bmuschko:gradle-tomcat-plugin:0.9.2'
}
}
allprojects {
apply plugin: "java"
apply plugin: "eclipse"
apply plugin: "idea"
ext.springVersion = "3.1.1.RELEASE"
ext.hibernateVersion = "3.6.7.Final"
ext.mysqlVersion = "5.1.20"
ext.tomcatVersion = "7.0.26"
ext.junitVersion = "4.10"
ext.httpClientVersion = "4.2"
ext.pdfboxVersion = "1.7.1"
ext.resxWebserviceVersion = "10.4.2"
loadConfiguration()
}
und meine webapps zu bauen.gradle:
apply plugin: "maven"
apply plugin: "war"
apply plugin: "tomcat"
def now = new Date()
def cssDir = new File("truexpense-web/src/main/webapp/css").getAbsoluteFile().getPath()
def minCssName = 'all-min.css'
def jsDir = new File("truexpense-web/src/main/webapp/js").getAbsoluteFile().getPath()
def minJsName = 'all-min.js'
ext.requestor = ''
ext.fromAddress = ''
ext.replyAddress = ''
ext.formattedDate = now.format('dd MMM yyy HH:mm')
ext.product = 'Truexpense'
configurations {
deployerJars
jasper
mail
}
dependencies {
//Compile time but not included dependencies
providedCompile "javax.servlet:javax.servlet-api:3.0.1"
providedCompile "org.apache.tomcat:tomcat-jdbc:$tomcatVersion"
//Compile time dependencies
compile project(":truexpense-domain")
compile project(":truexpense-repository")
compile project(":truexpense-service")
compile "org.springframework:spring-core:$springVersion"
compile "org.springframework:spring-web:$springVersion"
compile "org.hibernate:hibernate-core:$hibernateVersion"
compile "org.hibernate:hibernate-envers:$hibernateVersion"
compile "org.hibernate:hibernate-ehcache:$hibernateVersion"
compile "org.hibernate:hibernate-validator:4.2.0.Final"
compile "commons-io:commons-io:2.3"
compile "commons-codec:commons-codec:1.6"
compile "org.springframework.security:spring-security-core:3.1.0.RELEASE"
compile "org.springframework.security:spring-security-config:3.1.0.RELEASE"
compile "org.springframework.security:spring-security-web:3.1.0.RELEASE"
compile "javax.mail:mail:1.4"
compile "mysql:mysql-connector-java:$mysqlVersion"
compile "com.google.visualization:visualization-datasource:1.0.2"
compile "org.ostermiller:utils:1.07.00"
compile "net.sf.ofx4j:ofx4j:1.4"
compile "org.jpedal:jbig2:1"
compile "org.apache.pdfbox:txp-fontbox:$pdfboxVersion"
compile "org.apache.pdfbox:txp-jempbox:$pdfboxVersion"
compile "org.apache.pdfbox:txp-pdfbox:$pdfboxVersion"
compile "taglibs:taglibs-unstandard:1"
compile "org.codehaus.jackson:jackson-mapper-asl:1.9.7"
compile "org.apache.httpcomponents:httpclient:$httpClientVersion"
//Runtime only dependencies
runtime "commons-beanutils:commons-beanutils-core:1.8.3"
runtime "joda-time:joda-time:2.1"
runtime "org.springframework.security:spring-security-taglibs:3.1.0.RELEASE"
runtime "org.springframework:spring-beans:$springVersion"
runtime "org.springframework:spring-context:$springVersion"
runtime "org.springframework:spring-core:$springVersion"
runtime "org.springframework:spring-expression:$springVersion"
runtime "org.springframework:spring-instrument:$springVersion"
runtime "org.springframework:spring-instrument-tomcat:$springVersion"
runtime "org.springframework:spring-jdbc:$springVersion"
runtime "org.springframework:spring-jms:$springVersion"
runtime "org.springframework:spring-orm:$springVersion"
runtime "org.springframework:spring-oxm:$springVersion"
runtime "org.springframework:spring-tx:$springVersion"
runtime "org.springframework:spring-web:$springVersion"
runtime "org.springframework:spring-webmvc:$springVersion"
runtime ("commons-fileupload:commons-fileupload:1.2.2") {
exclude group: "javax.servlet", module: "javax.servlet-api"
exclude group: "portlet-api"
}
runtime ("javax.servlet:jstl:1.2") {
exclude group: "javax.servlet", module: "javax.servlet-api"
exclude group: "javax.servlet", module: "jsp-api"
}
//Test only dependencies
tomcat "org.apache.tomcat:tomcat-dbcp:${tomcatVersion}"
tomcat "org.apache.tomcat.embed:tomcat-embed-core:${tomcatVersion}",
"org.apache.tomcat.embed:tomcat-embed-logging-juli:${tomcatVersion}"
tomcat("org.apache.tomcat.embed:tomcat-embed-jasper:${tomcatVersion}") {
exclude group: 'org.eclipse.jdt.core.compiler', module: 'ecj'
}
//Deployments
deployerJars "org.apache.maven.wagon:wagon-http:1.0-beta-2"
[tomcatRun, tomcatRunWar]*.httpPort = 8090
[tomcatRun, tomcatStop]*.stopPort = 8081
[tomcatRun, tomcatStop]*.stopKey = 'stopKey'
task integrationTest(type: Test) {
include '**/*IntegrationTest.*'
doFirst {
tomcatRun.daemon = true
tomcatRun.execute()
}
doLast {
tomcatStop.execute()
}
}
test {
exclude '**/*IntegrationTest.*'
}
}
war {
baseName='truexpense'
eachFile {
if (it.name == 'login_css_include.jsp') {
it.expand(loginCSS: "login-min.css?t=${now.getTime()}")
}
else if (it.name == 'all_css_include.jsp') {
it.expand(allCSS: "all-min.css?t=${now.getTime()}")
}
else if (it.name == 'all_js_include.jsp') {
it.expand(allJS: "all-min.js?t=${now.getTime()}")
}
}
}
task deploy << { deploy() }
task minifyCSS << {
def files = fileTree(dir: "${cssDir}", includes: [
"analysis.css",
"header.css",
"footer.css",
"blocks.css",
"chosen.css",
"grids.css",
"space.css",
"dataTables.css",
"newCore.css",
"core.css",
"skin_clean.css",
"plugins.css",
"css3.css",
"jquery-ui.css",
"jquery.lightbox-0.5.css",
"jqueryFileTree.css",
"jquery.qtip.css",
"expense.css",
"report.css",
"zentab.css"
]).getFiles().sort({it.name})
concatenate("${cssDir}/all.css", files)
yuiCompressor("${cssDir}/all.css", "${cssDir}/${minCssName}")
yuiCompressor("${cssDir}/login.css", "${cssDir}/login-min.css")
}
task minifyJS << {
def files = fileTree(dir: "${jsDir}", excludes:[
'all*.js',
'jqtouch*.js'
]).getFiles().sort({it.name})
concatenate("${jsDir}/all.js", files)
yuiCompressor("${jsDir}/all.js", "${jsDir}/${minJsName}")
}
def yuiCompressor(from, to) {
ant.java(jar:"tools/yuicompressor-2.4.7.jar", fork: true, failonerror: true) {
arg(value: from)
arg(value: "-o")
arg(value: to)
}
}
def concatenate(filePath, files) {
File file = new File(filePath)
if (file.exists()) {
file.write("")
}
files.each { File f ->
file.append(f.getText() + '\n')
}
}
def deploy() {
println "Deleting ${tomcatHome}/webapps/${war.baseName}"
delete "${tomcatHome}/webapps/${war.baseName}"
println "Deleting ${tomcatHome}/work/Catalina/localhost/${war.baseName}"
delete "${tomcatHome}/work/Catalina/localhost/${war.baseName}"
println "Copying ${war.archiveName} to ${tomcatHome}/webapps"
copy {
from war.archivePath
into "${tomcatHome}/webapps"
}
}
Sind Sie versuchen zu bauen der war-Datei und stellen Sie es auf einem externen Tomcat-container?
Nein, wir haben einen Pfad bereitstellen, die Kopien aus dem Krieg.archivePath, um unseren tomcat-home. Mein Ziel hierbei ist es, für integration testing. Wenn meine integration task ausgeführt wird tomcatRun und ich bekomme eine exception "java.io.FileNotFoundException: Konnte nicht geöffnet werden ServletContext Ressourcen [/WEB-INF/classes/applicationContext.xml]" Wenn ich mir in der Arbeit oben genannten Verzeichnis nichts bereitgestellt wird. Bitte lassen Sie mich wissen, wenn Sie weitere Fragen haben!
Sorry, aber ich verstehe immer noch nicht, was Sie versuchen zu erreichen. Die Aufgaben
Ok, ich habe die build-Skripte. Ich hoffe, das hilft!
Das Verzeichnis
Nein, wir haben einen Pfad bereitstellen, die Kopien aus dem Krieg.archivePath, um unseren tomcat-home. Mein Ziel hierbei ist es, für integration testing. Wenn meine integration task ausgeführt wird tomcatRun und ich bekomme eine exception "java.io.FileNotFoundException: Konnte nicht geöffnet werden ServletContext Ressourcen [/WEB-INF/classes/applicationContext.xml]" Wenn ich mir in der Arbeit oben genannten Verzeichnis nichts bereitgestellt wird. Bitte lassen Sie mich wissen, wenn Sie weitere Fragen haben!
Sorry, aber ich verstehe immer noch nicht, was Sie versuchen zu erreichen. Die Aufgaben
tomcatRun
und tomcatRunWar
haben nicht die Eigenschaften destinationDir
und warDirectory
Sie versuchen, zu legen. Können Sie Ihre vollständige build-Skript? Wenn Sie finden Sie auf dem Tomcat-home bedeutet das, dass eine lokale Tomcat-installation ist betroffen?Ok, ich habe die build-Skripte. Ich hoffe, das hilft!
Das Verzeichnis
build/tmp/tomcatRun
wird erstellt, indem die eingebettete Tomcat-Umsetzung. Es ist nicht unbedingt eine explodierte war-Datei-Struktur. Das Tomcat-plugin Punkte, um die web-app classpath intern zur Laufzeit. Betrifft dieses Problem nur auftreten, wenn Sie versuchen zum ausführen der Integrationstests oder im Allgemeinen, wenn Sie Sie ausführen tomcatRun
? Beim laufen gradle war
macht die war-Datei enthalten, die Spring-context-Datei?
InformationsquelleAutor Ann Addicks | 2012-06-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie Sie auf Ihre
applicationContext.xml
in Ihremweb.xml
? Wenn Sie den vollständigen Pfad verwenden (/WEB-INF/classes/applicationContext.xml
), dann würde ich wahrscheinlich ändern, um die Suche nach es auf dem Klassenpfad:InformationsquelleAutor Benjamin Muschko