Symfony2 assetic:dump |错误输出:"The system cannot find the path specified"

Symfony2 assetic:dump | error Output: "The system cannot find the path specified"

我下载了 yuicompressor-2.4.8.jar 并将其放在 app/Resources/java/ 文件夹中。

接下来我在我的树枝模板中创建了 {% stylesheets %} 块,如下例所示:

{% stylesheets 
    'bundles/arsen/css/style.css'
    filter='cssrewrite, yui_css'
    output='assets/css/complied.css'
%}
    <link rel="stylesheet" type="text/css" href="{{ asset_url }}">
{% endstylesheets %}

当我 运行 app/console assetic:dump 时,我得到这个错误:

  "/usr/bin/java" "-jar" "C:\xampp\htdocs\Symfony27\app/Resources/java/yuicompressor-2.4.8.jar" "--charset" "UTF-8" "-o" "C:\Users\SYMFONY\AppData\Local\Temp\ass2341.tmp" "--type" "css" "C:\Users\SYMFONY\AppData\Local\Temp\ass2340.tmp"
  Error Output:                                                                                                                                                                                                   
  The system cannot find the path specified.  

据我所知,我已经安装了 java jre,并且我可以从命令行访问 java:

$ java -version
java version "1.8.0_73"
Java(TM) SE Runtime Environment (build 1.8.0_73-b02)
Java HotSpot(TM) Client VM (build 25.73-b02, mixed mode, sharing)

在我的 windows 路径中,我有: C:\ProgramData\Oracle\Java\javapath 已注册 这条路径指向这里:

路径对我来说很好。 有谁知道缺少什么或阻止 app/console assetic:dump 命令工作的问题在哪里?

可能是此设置导致了问题 app/config/config.yml:

assetic:
    #...
    #java: /usr/bin/java
    filters:
        cssrewrite: ~
        yui_css:
            jar: "%kernel.root_dir%/Resources/java/yuicompressor-2.4.8.jar"
            #...

如 symfony 文档所述:

Windows users need to remember to update config to proper Java location.
In Windows7 x64 bit by default it's C:\Program Files (x86)\Java\jre6\bin\java.exe.

实际上,该命令正在查找 /usr/bin/java 中的可执行文件,而 Windows 中不存在。

此外,您必须在您的资产配置中注册您的 java 路径:

assetic:
    # ...
    java: C:\Program Files (x86)\Java\jre7\bin\java.exe

请参阅文档的 YUI Compressor 部分。