JFinal整合HTTL编译错误 各种类找不到 官方demo也错误 空白页面也报错

孤单时会想你 发布于 2013/12/12 12:54
阅读 1K+
收藏 1

用到的jar

Tomcat

JDK

cmd命令行使用 java -version

cmd 命令行运行 javac

各种环境变量配置 Path中包含了 JDK/bin 还有其他很多软件的 就不列出了

IDE

部署配置

部署类型

Maven

系统

HTTL配置文件 httl.properties

没什么特殊的 只是指定了模版路径 和UTF-8编码

web.xml里只修改了httl.properteis的默认放置路径

JFinal里设置默认视图由httl渲染

以上为我的配置。。但是报错 官网的demo也跑不起来。。

JFinal整合HTTL报错,错误信息非常多 去掉重复精简一下大概如下 第一行显示编译错误 。。

com.jfinal.render.RenderException: Failed to compile class, cause: Compilation failed. class: httl.spi.translators.templates.Template__default
ult_about_lianxi_html__WEB_INF_conf_httl_UTF_8_1386823297371_stream.java:33: 错误: 程序包httl.spi.methods不存在
ult_about_lianxi_html__WEB_INF_conf_httl_UTF_8_1386823297371_stream.java:42: 错误: 程序包httl.spi.formatters不存在
 错误: 找不到符号
	$output.write(doFilter(filter, $TXT3, formatter.toBytes($TXT3, (webRoot instanceof httl.Resource ? httl.util.IOUtils.readToString(
	((httl.Resource)webRoot).openReader()) : webRoot))));
	WEB_INF_conf_httl_UTF_8_1386823297371_stream.java:51: 错误: 程序包httl.util不存在
	WEB_INF_conf_httl_UTF_8_1386823297371_stream.java:61: 错误: 程序包httl.util不存在
	html__WEB_INF_conf_httl_UTF_8_1386823297339_stream.java:3: 错误: 程序包javax.servlet不存在

有其他人也遇到类似问题 说是换JDK 或tomcat能解决,尝试了 无效

亦或是 修改 httl.properties

#compiler=httl.spi.compilers.JdkCompiler

#compiler=httl.spi.compilers.JavassistCompiler



改编译器也无效。。httl相关的jar都是存在的 我放在 WEB-INF/lib下 看上去是httl无法发现这里的jar 可能是httl查找的bug

后来尝试 直接把httl的jar丢到tomcat的lib下也是照样报一样的错。。囧

JFinal HTTL也都是最新版 我认为和JFinal无关,应该是httl的bug

空白页面也报错   。。 求解~



加载中
0
孤单时会想你
孤单时会想你
找到原因了。。 环境没问题,环境变量也没问题。。。答案是---------------------------------------------------------->  路径中有空格 这是一场由空格引发的血案 在jetbrick 作者的帮助下 找到了答案 jetbrick也有同样问题 不过修复了。 jetbrick也是一个高性能的模板。。以后用它了 感兴趣的可以到这里http://subchen.github.io/jetbrick-template/userguide.html  了解详情 性能不输给httl哟
oulaly
oulaly
答案是? 求教是如何解决这个问题的,谢谢!
0
孤单时会想你
孤单时会想你

官方提供的demo  httl-jfinal-demo都跑不起来。。也是报这错误。。


0
豆豆熊
豆豆熊

我怀疑 环境有问题!

0
子矜
子矜
5.9的评分 什么电脑 这么高
0
南湖船老大
南湖船老大

直接用javac编译吧,别用javassist。

tools.jar 放到你项目的lib 目录下看看


0
孤单时会想你
孤单时会想你

引用来自“布尔道长”的答案

5.9的评分 什么电脑 这么高
联想笔记本Y470 ISE I 7 
0
孤单时会想你
孤单时会想你

引用来自“南湖船老大”的答案

直接用javac编译吧,别用javassist。

tools.jar 放到你项目的lib 目录下看看


jdk\lib\tools.jar加入到 WEB-INF/li下  maven设置如下 环境变量中添加了 JAVA_HOME

<dependency>
            <groupId>com.sun</groupId>
            <artifactId>tools</artifactId>
            <version>1.7</version>
            <scope>system</scope>
            <systemPath>${JAVA_HOME}/lib/tools.jar</systemPath>
        </dependency>



httl.properties里设置

compiler=httl.spi.compilers.JdkCompiler



或者不设置 compiler 都没用。依然报错

南湖船老大
南湖船老大
那就不清楚了,你直接 @梁飞 HTTL的作者吧
0
孤单时会想你
孤单时会想你

@梁飞 有空帮忙看看吧 官方demo都跑不起来让人感觉挺无语的
0
玛雅牛
玛雅牛

web.xml需要加入以下信息:

<listener>
	<listener-class>httl.spi.loaders.ServletLoader</listener-class>
</listener>
<context-param>
	<param-name>httl.properties</param-name>
	<param-value>/WEB-INF/httl.properties</param-value>
</context-param>



0
dreamers
dreamers
我十分怀疑是 intellij 的问题。也许是在你发布项目时,classpath 环境变量没有设置正确,以及web资源的目录与项目的没有对应。我用eclipse 是可以的。
返回顶部
顶部