NoClassDefFoundError 在 MacOS X 上运行 r.js 时出错

NoClassDefFoundError when running r.js on MacOS X

本文关键字:js 出错 运行 MacOS NoClassDefFoundError      更新时间:2023-09-26

我正在尝试在我的Mac终端中使用以下命令块运行r.js(require.js优化器)。有趣的是,我只是在终端中键入java就会出错。请记住,Mac默认安装了Java。

java '          
-classpath '      //maybe classpath is wrong?
js.jar '      //this is a java file required for the optimization
org.mozilla.javascript.tools.shell.Main ' //specific part of the .jar file is called
r.js '   //this is the optimizer's js file
-o '       //telling it to optimize
build.js   //this is the config file

构建.js:

({
    baseUrl: '../public/sites/triathlonresearchnnb/js',                  //where to look in
    mainConfigFile: '../public/sites/triathlonresearchnnb/js/main.js',   //dir of our main file
    name: '../Scripts/main',                //which one
    out: '../public/sites/triathlonresearchnnb/js/scripts.min.js',       //final concatenated and minified product path
})

命令行中的 Java 错误:

Exception in thread "main" java.lang.NoClassDefFoundError:  
Caused by: java.lang.ClassNotFoundException:  
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

官方文档建议在类路径中使用 Rhino 闭包编译器:

$ java -classpath path/to/rhino/js.jar:path/to/closure/compiler.jar org.mozilla.javascript.tools.shell.Main r.js -o path/to/buildconfig.js

您的问题仅显示可能是 Rhino 的东西的类路径。闭包编译器可在此处获得。