使用雅虎!来自Coldfusion的JavaScript Compressor 10

时间:2015-05-01 16:39:54

标签: java coldfusion

我使用polymorpic_path来实例化实现第三方jar文件中定义的Java createDynamicProxy的Coldfusion类。我想将类传递给同一个jar的另一个类的构造函数:即Interface

当jar文件yuicompressor-2.4.8.jar驻留在ColdFusion应用程序的com.yahoo.platform.yui.compressor.JavaScriptCompressor THIS.javaSettings成员中指定的子目录中时,它运行良好。如果LoadPaths不存在,即使jar文件存储在Coldfusion Administrator中设置的类路径中,它也不起作用。

我的Coldfusion代码:

THIS.javaSettings

<cfset oErrRep = createObject("component","cfc.ErrorReporter")> <cfset jErrRep = createDynamicProxy(oErrRep, ["org.mozilla.javascript.ErrorReporter"])> <cffile action="read" variable="inputString" file="#GetDirectoryFromPath( getCurrentTemplatePath() )#examples/jquery-1.8.2.js"> <cfset joInput = createObject("java","java.io.StringReader").init(inputString)> <cfset joOutput = createObject('java','java.io.StringWriter').init() /> <cfset compr = createobject( "java", "com.yahoo.platform.yui.compressor.JavaScriptCompressor" ).init( joInput, jErrRep )> 缺少THIS.javaSettings时收到错误:

  

无法投射Application.cfc类型的对象时出错   转换为java.lang.NoSuchMethodError为不兼容的类型。这通常   表示Java中的编程错误,尽管它也可能意味着您   试图以不同的方式使用异物   设计的。

我想知道什么是行不通的。当java.lang.Exception丢失或javaSettings来电时,dynamicproxy是否会出现问题? 是否可以在类路径中使用jar文件中的接口?

我设置了一个带有工作样本的Github repository。 将“/lib/yuicompressor-2.4.8.jar”复制到ColdFusion服务器的类路径,从createobject().init()注释THIS.javaSettings行,重新启动ColdFusion并查看它是否失败。

0 个答案:

没有答案