1

jawr-core具有以下依赖项(请参阅工件详细信息):

<dependency>
    <groupId>org.mozilla</groupId>
    <artifactId>rhino</artifactId>
    <scope>provided</scope>
</dependency>

在处理 LESS 文件时,我遇到了一个异常说java.lang.NoClassDefFoundError: org/mozilla/javascript/ScriptableObject

如果使用范围编译显式添加 rhino 依赖项到我的项目,则异常消失。

但是为什么 Jawr 在需要处理 LESS 文件时会依赖它并提供范围?

我的 webapp 运行的 servlet 容器是 Tomcat 7。

4

1 回答 1

2

jawr 已经建立了所有依赖项provided,而不仅仅是 rhino 依赖项。

在我看来,他们真的很担心妨碍您的服务器的类路径。

在此链接:http://jawr.java.net/docs/postprocessors.html#YUI_compressor,他们声明如下:

...如果您的服务器的类路径中已经有 rhino,这可能会有问题...

只能假设这就是为什么它们都被提供的原因。然后,您明确需要包含您想要使用的 jawr 功能所需的依赖项。

于 2014-10-08T08:11:40.397 回答