使用 gradle build 运行 tomcat jasper 任务(jspc) [英] Running tomcat jasper task (jspc) with gradle build

查看:33
本文介绍了使用 gradle build 运行 tomcat jasper 任务(jspc)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在 gradle 中使用 jspc 编译我们的 jsp 文件,但出现异常.

I'm trying to compile our jsp files using jspc within gradle but am getting an exception.

这是相关的gradle部分

Here is the pertinent gradle section

//tomcatHome is defined in gradle.properties
ant.tomcatHome = "${tomcatHome}"
ant.webAppDir = "${webAppDir}"
ant.importBuild 'jspc.xml'
test.dependsOn jspc

和 jspc.xml 蚂蚁文件

And the jspc.xml ant file

<?xml version="1.0"?>

<project name="jspc" basedir="." default="jspc">
  <!-- Import tasks from Tomcat -->
  <import file="${tomcatHome}/bin/catalina-tasks.xml" />

  <target name="jspc">
    <jasper validateXml="false" uriroot="${webAppDir}" />
  </target>
</project>

存储库部分:

repositories {
  mavenRepo urls: 'http://repository.jboss.org/nexus/content/groups/public-jboss'
  mavenRepo urls: 'http://oss.sonatype.org/content/repositories/sourceforge-releases'
  mavenRepo urls: 'http://google-gson.googlecode.com/svn/mavenrepo'
  mavenCentral()
}

依赖项部分:

dependencies {

  springVersion = '3.0.4.RELEASE'
  securityVersion = '3.0.5.RELEASE'

  //Compile time local dependencies
  compile fileTree(dir: 'staticLib', include: '*.jar')

  //Compile time but not included dependencies
  providedCompile group: 'javax.servlet', name: 'servlet-api', version:'2.5'
  providedCompile group: 'javax.servlet', name: 'jstl', version: '1.1.2'
  providedCompile group: 'taglibs', name: 'standard', version: '1.1.2'

  //Compile time remote dependencies
  compile group: 'com.google.code.gson', name:'gson', version: '1.7.1'
  compile group: 'com.google.visualization', name: 'visualization-datasource', version: '1.0.2'
  compile group: 'com.ibm.icu', name:'icu4j', version: '4.6.1'
  compile group: 'commons-codec', name: 'commons-codec', version: '1.4'
  compile group: 'commons-collections', name: 'commons-collections', version: '3.2.1'
  compile group: 'commons-dbcp', name: 'commons-dbcp', version: '1.4'
  compile group: 'commons-io', name: 'commons-io', version: '1.4'
  compile group: 'commons-lang', name: 'commons-lang', version: '2.6'
  compile group: 'commons-logging', name: 'commons-logging', version: '1.1.1'
  compile group: 'commons-pool', name: 'commons-pool', version: '1.5.5'
  compile group: 'javax.inject', name: 'javax.inject', version: '1'
  compile group: 'javax.servlet', name: 'jstl', version: '1.2'
  compile group: 'joda-time', name: 'joda-time', version: '1.6.2'
  compile group: 'log4j', name: 'log4j', version: '1.2.15'
  compile group: 'mysql', name: 'mysql-connector-java', version: '5.1.15'
  compile group: 'net.sf.ehcache', name: 'ehcache-core', version: '2.4.0'
  compile group: 'net.sf.ofx4j', name: 'ofx4j', version: '1.4'
  compile group: 'org.codehaus.jackson', name: 'jackson-mapper-asl', version: '1.7.2'
  compile group: 'org.hibernate', name: 'hibernate-core', version: '3.6.2.Final'
  compile group: 'org.hibernate', name: 'hibernate-validator', version: '4.1.0.Final'
  compile group: 'org.ostermiller', name: 'utils', version: '1.07.00'
  compile group: 'org.springframework', name: 'spring-aop', version: springVersion
  compile group: 'org.springframework', name: 'spring-asm', version: springVersion
  compile group: 'org.springframework', name: 'spring-aspects', version: springVersion
  compile group: 'org.springframework', name: 'spring-beans', version: springVersion
  compile group: 'org.springframework', name: 'spring-context', version: springVersion
  compile group: 'org.springframework', name: 'spring-core', version: springVersion
  compile group: 'org.springframework', name: 'spring-expression', version: springVersion
  compile group: 'org.springframework', name: 'spring-instrument', version: springVersion
  compile group: 'org.springframework', name: 'spring-jdbc', version: springVersion
  compile group: 'org.springframework', name: 'spring-jms', version: springVersion
  compile group: 'org.springframework', name: 'spring-orm', version: springVersion
  compile group: 'org.springframework', name: 'spring-oxm', version: springVersion
  compile group: 'org.springframework', name: 'spring-tx', version: springVersion
  compile group: 'org.springframework', name: 'spring-web', version: springVersion
  compile group: 'org.springframework', name: 'spring-webmvc', version: springVersion
  compile group: 'org.springframework.security', name: 'spring-security-acl', version: securityVersion
  compile group: 'org.springframework.security', name: 'spring-security-aspects', version: securityVersion
  compile group: 'org.springframework.security', name: 'spring-security-cas-client', version: securityVersion
  compile group: 'org.springframework.security', name: 'spring-security-config', version: securityVersion
  compile group: 'org.springframework.security', name: 'spring-security-core', version: securityVersion
  compile group: 'org.springframework.security', name: 'spring-security-ldap', version: securityVersion
  compile group: 'org.springframework.security', name: 'spring-security-taglibs', version: securityVersion
  compile group: 'org.springframework.security', name: 'spring-security-web', version: securityVersion
  compile group: 'uk.com.robust-it', name: 'cloning', version: '1.7.4'

  //Runtime dependencies
  runtime group: 'commons-fileupload', name: 'commons-fileupload', version: '1.2.2'
  runtime group: 'javassist', name: 'javassist', version: '3.9.0.GA'
  runtime group: 'javax.mail', name: 'mail', version: '1.4'
  runtime group: 'org.codehaus.jackson', name: 'jackson-mapper-asl', version: '1.7.4'
  runtime group: 'org.codehaus.jackson', name: 'jackson-core-asl', version: '1.7.4'
  runtime group: 'org.slf4j', name: 'slf4j-api', version: '1.6.1'
  runtime group: 'org.slf4j', name: 'slf4j-log4j12', version: '1.6.1'

  //Test dependencies
  testCompile group: 'cglib', name: 'cglib-nodep', version: '2.2'
  testCompile group: 'junit', name: 'junit', version: '4.8.2'
  testCompile group: 'org.mockito', name: 'mockito-all', version: '1.8.5'
  testCompile group: 'org.springframework', name: 'spring-test', version: springVersion
}

例外是:

原因:file:myfile.jsp(1,1) 绝对uri:http://java.sun.com/jsp/jstl/core 无法在 web.xml 或使用此应用程序部署的 jar 文件中解析

Cause: file:myfile.jsp(1,1) The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application

有什么想法吗?

推荐答案

您可以使用 Tomcat JAR 文件,而不是使用 Tomcat 的 bin 目录中的 catalina-tasks.xml而是包含类 org.apache.jasper.JspC.如果您的 JSP 编译缺少任何库,您可以轻松地将它们添加到配置 jasper.

Instead of using catalina-tasks.xml from Tomcat's bin directory you can use the Tomcat JAR file that includes the class org.apache.jasper.JspC instead. If there are any libraries missing for your JSP compilation you can easily add them to the configuration jasper.

configurations {
    jasper
}

repositories {
    mavenCentral()
}

dependencies {
    jasper 'org.apache.tomcat:jasper:6.0.33',
           'javax.servlet:jstl:1.1.2',
           'taglibs:standard:1.1.2'
}

test.doLast {
    ant.taskdef(classname: 'org.apache.jasper.JspC', name: 'jasper', classpath: configurations.jasper.asPath)
    ant.jasper(validateXml: false, uriRoot: webAppDir, outputDir: "$buildDir/jspc")
}

这篇关于使用 gradle build 运行 tomcat jasper 任务(jspc)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆