微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用gradle build运行tomcat jasper任务jspc

如何解决使用gradle build运行tomcat jasper任务jspc

|| 我正在尝试在gradle中使用jspc编译我们的jsp文件,但遇到了异常。 这是相关的gradle部分
//tomcatHome is defined in gradle.properties
ant.tomcatHome = \"${tomcatHome}\"
ant.webAppDir = \"${webAppDir}\"
ant.importBuild \'jspc.xml\'
test.dependsOn jspc
和jspc.xml ant文件
<?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\',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\',name: \'spring-aspects\',name: \'spring-beans\',name: \'spring-context\',name: \'spring-core\',name: \'spring-expression\',name: \'spring-instrument\',name: \'spring-jdbc\',name: \'spring-jms\',name: \'spring-orm\',name: \'spring-oxm\',name: \'spring-tx\',name: \'spring-web\',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\',name: \'spring-security-cas-client\',name: \'spring-security-config\',name: \'spring-security-core\',name: \'spring-security-ldap\',name: \'spring-security-taglibs\',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\',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
}
例外是:
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
有任何想法吗?     

解决方法

可以使用包含类
org.apache.jasper.JspC
的Tomcat JAR文件代替使用Tomcat \
bin
目录中的
catalina-tasks.xml
。如果您的JSP编译缺少任何库,则可以轻松地将它们添加到配置ѭ8中。
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\")
}
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。