2011-12-04 3 views
8

2つのCSS集約を作成しようとしています.1つはパブリックサイト用で、もう1つはサイトのアプリケーション部分用です。Maven yuiコンプレッサープラグインは長いパスを指定して集約を作成できませんか?

出力ファイル${project.build.directory}/${project.build.finalName}/css/public-all.cssを作成すると、すべて動作します。

[INFO] generate aggregation : C:\Users\me\IdeaProjects\myapp-development\target\myapp-1.0\css\public-all.css 
[INFO] public-all.css (32029b) 
[INFO] generate aggregation : C:\Users\me\IdeaProjects\myapp-development\target\myapp-1.0\css\application-all.css 
[INFO] application-all.css (50446b) 

しかし、私は、このような${project.build.directory}/${project.build.finalName}/css/public/all.cssなどの別のサブディレクトリに集約されたファイルを、試してみて、出力ならば、それは次のエラーを与える:

[INFO] generate aggregation : C:\Users\me\IdeaProjects\myapp-development\target\myapp-1.0\css\public\all.css 
[WARNING] all.css not created 
[INFO] generate aggregation : C:\Users\me\IdeaProjects\myapp-development\target\myapp-1.0\css\application\all.css 
[WARNING] all.css not created 

は、なぜ彼らが作成取得されていませんか?なぜこれは警告でも、プラグインの右端の失敗ではないのですか?

ここでは集計を指定しているpom.xmlの部分です。なぜ地球上で動作しないのですか?

    <aggregation> 
         <removeIncluded>false</removeIncluded> 
         <insertNewLine>true</insertNewLine> 
         <output>${project.build.directory}/${project.build.finalName}/css/public/all.css</output> 
         <includes> 
          <include>**/public/base.css</include> 
          <include>**/fancybox/jquery.fancybox-1.3.4.css</include> 
         </includes> 
        </aggregation> 
        <aggregation> 
         <removeIncluded>false</removeIncluded> 
         <insertNewLine>true</insertNewLine> 
         <output>${project.build.directory}/${project.build.finalName}/css/application/all.css</output> 
         <includes> 
          <include>**/application/reset.css</include> 
          <include>**/application/text.css</include> 
          <include>**/application/960.css</include> 
          <include>**/smoothness/jquery-ui-1.8.11.custom.css</include> 
          <include>**/application/base.css</include> 
          <include>**/jcrop/jquery.jcrop.css</include> 
          <include>**/farbtastic/farbtastic.css</include> 
         </includes> 
        </aggregation> 

これらのディレクトリもあります。私が試して、存在しないディレクトリを指し示すと、yuicompressor:compressは失敗します。私はちょうどビルドプロセスが実際に有効なディレクトリで成功した理由を理解できませんが、それらのディレクトリにファイルを作成しません。意味がない!

ファイルシステムのセキュリティ上の問題かもしれないと思っていましたが、それはどちらでもありません。

なぜこれがうまくいかないのか、本当に困惑しています。

助けてください。

+0

ヘルプ誰を?私はまだこれがうまくいかないのかどうかわからない。 'css/application'や' css/public'のように '/ css /'の下にサブディレクトリを追加するとなぜ失敗するのかわかりません:(なぜ 'css'だけに集約すれば成功するのですか? – egervari

答えて

12

私は同様の問題を抱えていました。私はinputDirを設定して、私のjs構造のルートディレクトリを指すように解決しました。デフォルトでは、プラグインは出力ファイルの親ディレクトリをベースにしており、絶対パスではない場合は相対パスとして動作します。

<inputDir>src/main/js</inputDir> 
<includes> 
    <include>**/*.js</include> 
</includes> 
<output>${webapp.root.dir}/js/${project.artifactId}-${project.version}.js</output> 

希望はこのことができます:)

+0

ちょうど私が必要としたものですね、おかげでね。 – evandongen

+0

驚くばかりの男!私はこの記事を見てまで、無駄な道のりをかなり乱していました。 – asgs

関連する問題