2010-01-29 11 views
14

kullanarak UNIX biçimine dönüştürme Windows ortamında geliştirilmiş bir uygulamam var. Uygulamanın kendisi bir Linux ortamına dağıtılıyor. Bu uygulamayı her dağıdığımda, yürütülebilir dosyaları dos2unix kullanarak UNIX formatına dönüştürmem gerekiyor. Aslında bunun Windows CP1252 kodlamasına neden olduğunu düşündüm, bu yüzden Maven'i dosyaları UTF-8 olarak kodlamak için güncelledim. Bu, sorunumu çözmedi ve bu siteyi arayarak satır başı getirileri ve satır feed'leriyle ilgili olduğunu çabucak öğrendim. Maven'in tüm dosyaları, oluşturma işlemi sırasında UNIX biçimine dönüştürmesinin bir yolu var mı? Ben Maven 2.2.1 ve Java 5. kullanıyorumDosyaları Maven

cevap

14

Sen fixcrlf karınca görev çağırmak için Maven antrun eklentisi kullanabilirsiniz:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <groupId>ant-test</groupId> 
    <artifactId>ant-test</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <packaging>jar</packaging> 

    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-antrun-plugin</artifactId> 
       <executions> 
        <execution> 
         <id>ant-test</id> 
         <phase>package</phase> 
         <configuration> 
          <tasks> 
           <fixcrlf ... /> 
          </tasks> 
         </configuration> 
         <goals> 
          <goal>run</goal> 
         </goals> 
        </execution> 
       </executions> 
      </plugin> 
     </plugins> 
    </build> 
</project> 
+1

, çalışıyor gibi görünüyor. Ayrıca maven derleme eklentisini kullanıyorum ve bu dönüşüm nedeniyle jar dosyalarını okuyarak sorunlarım var. Bunu bir Windows makinesinde nasıl oluşturabileceğime dair herhangi bir fikir var mı? –

+1

Büyük olasılıkla bir içerme veya hariç tutma özelliği eklemek istersiniz, böylece sadece * .txt'i değiştiriyorsunuz ya da – Kevin

+0

'u değiştirmeye çalıştığınız her ne olursa olsun teşekkürler, dahil/hariç tutunuz. Kaynak dizinlerimdeki dosyaları değiştirir, ancak gerekecekse Tamam olur, ancak Maven derleme eklentisinin bu karınca görevini çalıştırırken herhangi bir şekilde geri dönmesine veya kontrol etmemeye gerek kalmaması için çalışır dosyalarımda? –

35

montaj eklentisi kontrol etmek kullanılabilecek bir lineEnding seçeneği vardır Verilen bir fileSet için dosyaların satır sonu. Bu parametre tam olarak istediğiniz şeyi yapmak için var. Sonunda, CFF satırları ve LF hatları ile tar.gz arşivleri ile zip arşivleri oluşturabilirsiniz.

E.g.

... 
<fileSet> 
    <directory>${basedir}/src/main/build/QA</directory> 
    <outputDirectory>/bin</outputDirectory> 
    <includes> 
     <include>start.sh</include> 
    </includes> 
    <lineEnding>unix</lineEnding> 
</fileSet> 
... 
şu anda

Olası değerler şunlardır:

  • "tutmak" - tüm hat sonları
  • "UNIX" koru - Kullanım Unix tarzı satır sonları ("n \" yani)
  • "Eğer" - tek bir satır besleme hattı sonları kullanın (yani "\ n")
  • "dos" - Kullanım DOS/Windows tarzı satır sonları (yani "\ r \ n")
  • "pencere "- DOS/Windows kullan stil çizgi sonları (ör. "\ R \ n")
  • "crlf" - Kullanım satır başı, satır besleme hattı uçları (yani, "\ r \ n")
I güvenilir