YUI Compressor ライブラリを使用して、CSS および JavaScript ファイルを圧縮しています。クラス CssCompressor と JavaScriptCompressor を直接使用します。
残念ながら、結果のファイルの一部は空であり、警告や例外はありません。
私はすでにバージョンで試しました:
- yuicompressor-2.4.2.jar
- yuicompressor-2.4.6.jar
- yuicompressor-2.4.7pre.jar
私の使用コードは次のとおりです。
public static void compress(File file) {
try {
long start = System.currentTimeMillis();
File targetFile = new File("results", file.getName() + ".min");
Writer writer = new FileWriter(targetFile);
if (file.getName().endsWith(".css")) {
CssCompressor cssCompressor = new CssCompressor(new FileReader(file));
cssCompressor.compress(writer, -1);
} else if (file.getName().endsWith(".js")) {
JavaScriptCompressor jsCompressor = new JavaScriptCompressor(new FileReader(file), new MyErrorReporter());
jsCompressor.compress(writer, -1, true, false, false, true);
}
long end = System.currentTimeMillis();
System.out.println("\t compressed " + file.getName() + " within " + (end - start) + " milliseconds");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
機能しない(後で空になる)ファイルは、たとえば
- http://code.google.com/p/open-cooliris/source/browse/trunk/fancy/jquery.fancybox.css?r=2
- http://nodejs.org/sh_main.js
メディアを使用する YUICompressor 内にいくつかのバグがあることは知っていますが、これは空の結果に関連している可能性がありますか?