2013-07-05 96 views
3

那麼,有一個問題:我試圖通過構建的Windows機器上的Symfony2 assetic轉儲:Symfony2的assetic:轉儲FileNotFoundException異常

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」已創建,但保持空白。 我可以實時看到YUIF03 * .tmp文件在我的TEMP文件夾中的操作過程中是如何創建和刪除的。 這個問題發生在我試過的兩臺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 

任何想法?

謝謝!

回答

1

我有完全相同的問題。不知道它來自哪裏,但是,symfony文檔指出"The YUI Compressor is going through a deprecation process.",所以它可能不再受支持。

我設法通過嘗試不同的JRE和yuicompressor.jar版本來實現它。這裏是assetic配置爲我工作(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)。

相關問題