2010-01-07 20 views
36

tarafından yönetiliyor Birleşmiş Maven yapısı ile mevcut Java projelerini yeniden donatıyorum. Her proje olgun ve kurmuştur yana Ant inşa tabanlı Ben maven-antrun-plugin kullanıyorum tüm şöyle build.xml mevcut yürütmek için:JAVA_HOME Maven

 <plugin> 
      <artifactId>maven-antrun-plugin</artifactId> 
      <executions> 
       <execution> 
        <phase>compile</phase> 
        <configuration> 
         <tasks> 
          <ant antfile="build.xml" target="compile" /> 
         </tasks> 
        </configuration> 
        <goals> 
         <goal>run</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 

Ben mvn compile inşa Bu mesajla başarısız çalıştırın:

[INFO] An Ant BuildException has occured: The following error occurred 
     while executing this line: 
build.xml:175: Unable to find a javac compiler; 
com.sun.tools.javac.Main is not on the classpath. 
Perhaps JAVA_HOME does not point to the JDK. 
It is currently set to "C:\Java\jdk1.6.0_13\jre" 

Ne bulmaca bana benim çevre kurulumunun bir parçası olarak JAVA_HOME=C:\Java\jdk1.6.0_13 ve mvn.bat yürütüldüğünde bu eksa olan

  1. olduğunu ctly değer alıyorum, ne ant compile her şey iyi derler çalıştırmak

belki maven-antrun-pluginset JAVA_HOME=%JAVA_HOME%\jre böyle bir şey yapar anlamına mı geliyor Eğer C:\Java\jdk1.6.0_13\jre

  • olarak çıkageldi hata mesajında ​​bakın ancak olarak? Benim toplu aradı/bu değişiklik benim karınca build.xml dosyasında aşağıdaki özellik tanımı koyarak bunu düzeltmek başardı

  • cevap

    13

    meydana nerede bulamıyorum dosyaları oluşturmak: down Thats

    <property name="build.compiler" value="extJavac"/> 
    
    18

    dış bağlantıların tarafı kabul edilen bir cevapta. Codehaus kapatıldı ve çözüm gitti. Başvuru için buraya bağlantının arkasındaki içeriği - sen temelde sadece antrun eklentisine <dependencies>...</dependencies> blok kopyalamak gerekiyor ...

    maven-antrun-eklentisi java_home JDK jre alt dizine ayarlanmış olan karınca çalışır , genel çalıştırma için JAVA_HOME bir JDK olsa bile. JDK'nin tools.jar için proje düzeyinde bir bağımlılık oluşturma konusunda başka bir belge var, ancak bu bir eklenti olan antrun yardımcı değil. Aşağıdaki profil işi yapıyor. Yoldaki '..', 'jre' dizinini lib dizini üzerinden geçirir.

    <profiles> 
         <profile> 
          <id>tools.jar</id> 
          <build> 
          <plugins> 
          <plugin> 
           <groupId>org.apache.maven.plugins</groupId> 
           <artifactId>maven-antrun-plugin</artifactId> 
           <dependencies> 
           <dependency> 
            <groupId>com.sun</groupId> 
            <artifactId>tools</artifactId> 
            <version>1.5.0</version> 
            <scope>system</scope> 
            <systemPath>${java.home}/../lib/tools.jar</systemPath> 
           </dependency> 
           </dependencies> 
          </plugin> 
          </plugins> 
          </build> 
         </profile> 
    
    +1

    Kırılan bağlantıyı genişletdiğiniz için teşekkür ederiz! – wrgrs

    +0

    Siz efendim, internet kahramanı mısınız, teşekkürler, saatlerce bunu arıyordum. İşe yarıyor. Ben sadece java versiyon 1.8.0 olarak değiştirdim. Bu şimdi kabul edilen cevap olmalı! – Hoto