java.lang.classnotfoundexception:com.google,javascript.jscomp.SourceFile

时间:2015-11-26 07:53:57

标签: java batch-file google-closure-compiler

我需要从.bat文件调用Closure Compiler传递一个标志language_in=ECMASCRIPT5我使用以下脚本但是收到错误

java.lang.classnotfoundexception: com.google,javascript.jscomp.SourceFile

我想知道:

  • 当我省略标志代码编译时,我正确地传递了标志吗?
  • 您能否向我提供有关此错误的更多信息?
java -Xms256m -Xmx256m  -cp "%~dp0../shrinksafe/js.jar";"%~dp0../closureCompiler/compiler.jar --language_in=ECMASCRIPT5";"%~dp0../shrinksafe/shrinksafe.jar" org.mozilla.javascript.tools.shell.Main  "%~dp0../../dojo/dojo.js" baseUrl="%~dp0../../dojo" load=build %*

1 个答案:

答案 0 :(得分:1)

正如the documentation所述:

  

(ClassNotFoundException)当应用程序尝试使用以下命令通过其字符串名称加载类时抛出:

     
      
  • 类Class。中的forName方法。
  •   
  • ClassLoader类中的findSystemClass方法。
  •   
  • ClassLoader类中的loadClass方法。
  •   

我认为正在发生的事情是,由于代码在省略标志时起作用,因此变量ECMASCRIPT5是在compiler.jar中定义的,您可能不会将其包含在类路径中。< / p>

您可以尝试将compiler.jar放置到WEB-INF / lib中,以便将其与您的应用程序一起部署,以便在执行时可以访问。