2011-12-04 18 views
8

İki css toplama işlemi oluşturmaya çalışıyorum - biri genel site için ve bir tanesi sitenin uygulama bölümü için.Maven yui kompresör eklentisi, daha uzun bir yol verildiğinde toplanma oluşturamıyor mu?

${project.build.directory}/${project.build.finalName}/css/public-all.css çıktı dosyasını oluşturursam her şey çalışır.

[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) 

Ama böyle ${project.build.directory}/${project.build.finalName}/css/public/all.css gibi başka bir alt dizinine toplanmış dosya deneyin ve çıkış, eğer aşağıdaki hatayı veriyor: Neden değil

[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 

oluşturulan ihtiyaç duyuyorsun? Neden bu bir uyarı ve eklentinin hatasız bir başarısızlığıdır?

Burada, bir araya getirme noktalarını belirttiğim pom.xml bölümü yer almaktadır. Neden yeryüzünde bu çalışmıyor?

    <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> 

Kontrol ettim ve bu dizinler de var. Var olmayan bir dizini işaretleyip işaret edersem yuicompressor:compress başarısız olur. Yapılandırma sürecinin neden geçerli dizinler verildiğini gerçekten anlamıyorum, ancak bu dizinlerdeki dosyaları oluşturmuyor. Hiç bir anlamı yok!

Belki bunun bir dosya sistemi güvenlik sorunu olduğunu düşündüm, ama bu da değil.

Bunun neden işe yaramadığı konusunda gerçekten şaşırdım.

Lütfen

Yardım edin.

+0

Yardım kimseyi? Bunun neden işe yaramadığını hala anlayamıyorum. '/ Css /' like 'css/application' veya' css/public 'alt dizininin neden eklenememesinin nedenini bilmiyorum :(Neden sadece' css 'için toplanırsam başarılı olur? bir böcek olmak için – egervari

cevap

12

Benzer bir sorunla karşılaştım ve jS yapısının kök dizinine işaret etmek için inputDir'i yapılandırarak çözdüm. Varsayılan olarak, eklenti, çıktı dosyanızın üst dizinini taban olarak alır ve içerme, göreli olarak davranır (mutlak yollar değilse).

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

Umut bu yardımcı olur :)

+0

Sadece ne gerekli! Teşekkürler bir demet – evandongen

+0

Korku veren adam! Ben bu yazıyı görünceye kadar boşuna oldukça uzun bir süre yollarını karıştırıyordum. – asgs

İlgili konular