3

そこで、問題があります: Windows マシンで symfony2 を使用して資産ダンプを構築しようとしました:

    php app/console assetic:dump

そして、私は次のようになります:

    [dir+] D:/Projects/domain/app/../web/js/compiled
    [file+] D:/Projects/domain/app/../web/js/compiled/main.js

    [Assetic\Exception\FilterException]
    An error occurred while running:
    "C:\Program Files\Java\jre7\bin\java.exe" "-jar" "D:/Projects/domain/app/Resources/java/yuicompressor-2.4.8.jar" "--charset" "UTF-8" "-o" "C:\Users\username\AppData\Local\Temp\YUIF039.tmp" "--type" "js" "C:\Users\username\AppData\Local\Temp\YUIF038.tmp"

    Error Output:
    java.io.FileNotFoundException: UsersusernameAppDataLocalTempYUIF039.tmp:\Users\username\AppData\Local\Temp\YUIF038.tmp (the filename,directory name, or volume label syntax is incorrect)

    Input:
    var a = 1;
    alert (a);

フォルダー「web/js/compiled」が作成されますが、空のままです。TEMP フォルダーで、この操作中に YUIF03*.tmp ファイルがどのように作成および削除されたかを「リアルタイムで」確認できます。この問題は、私が試した両方の Windows マシンで発生しますが、Linux 仮想マシンでは問題ありません。間違ったファイルパスに問題があるようです

    UsersusernameAppDataLocalTempYUIF039.tmp:\Users\username\AppData\Local\Temp\YUIF038.tmp

しかし、問題の原因についてはわかりません (Java? YUICompressor? Symfony2? Assetic?)

これが私のsymfony2の設定です。composer.json:

"require": {
    "php": ">=5.3.3",
    "symfony/symfony": "2.3.*",
    "doctrine/orm": ">=2.2.3,<2.4-dev",
    "doctrine/doctrine-bundle": "1.2.*",
    "twig/extensions": "1.0.*",
    "symfony/assetic-bundle": "2.3.*",
    "symfony/swiftmailer-bundle": "2.3.*",
    "symfony/monolog-bundle": "2.3.*",
    "sensio/distribution-bundle": "2.3.*",
    "sensio/framework-extra-bundle": "2.3.*",
    "sensio/generator-bundle": "2.3.*",
    "incenteev/composer-parameter-handler": "~2.0"
},

config.yml:

    # Assetic Configuration
    assetic:
        debug:          %kernel.debug%
        use_controller: false
        bundles:        [ AcmeWebBundle ]
        java: C:\Program Files\Java\jre7\bin\java.exe
        filters:
            cssrewrite: ~
            yui_js:
                jar: %kernel.root_dir%/Resources/java/yuicompressor-2.4.8.jar

何か案は?

ありがとう!

4

2 に答える 2

1

私はまったく同じ問題を抱えていました。それがどこから来たのかは定かではありませんが、symfony のドキュメントには「YUI Compressor は非推奨のプロセスを経ている」と示されています。したがって、おそらくもうサポートされていません。

さまざまな JRE と yuicompressor.jar のバージョンを試すことで、なんとか動作させることができました。これが私のために働いた資産構成です(Win7 64ビット):

# Assetic config
assetic:
    debug:          %kernel.debug%
    use_controller: false
    bundles:        [ MyBundle ]
    java: C:\Program Files\Java\jre6\bin\java.exe
    filters:
        cssrewrite: ~
        yui_css:
            jar: %kernel.root_dir%/Resources/java/yuicompressor-2.4.7.jar
        yui_js:
            jar: %kernel.root_dir%/Resources/java/yuicompressor-2.4.7.jar

特定の jre6 パス (私のマシンにインストールされているデフォルトの jre は、エラーが発生する jre7 でした) と 2.4.7 yuicompressor バージョン (2.4.8 では動作しません) に注意してください。

于 2013-07-16T10:20:16.160 に答える