2011-09-29 32 views
30

Tôi đã nhập dự án Maven hiện có vào IDE Eclipse. tôi đã sửa đổi một số mã trong nó, nó được biên dịch thành công, Tôi đang sử dụng Java 1.6 như trình biên dịch và khi tôi đang cố gắng để chạy maven sạch cài đặt -XMaven: lỗi: generics không được hỗ trợ trong nguồn 1.3, tôi đang sử dụng 1.6

của nó đưa ra các lỗi sau

không thể phân tách thông báo lỗi: (sử dụng-nguồn 5 hoặc cao hơn để cho phép Generics) D: \ Bayer \ util \ src \ chính \ java \ com \ tata \ bayer \ util \ BrokerageCalendar.java: 179: lỗi: generics không được hỗ trợ trong - nguồn 1.3

private static Hashtable<String, Boolean> nyseHolidays = new Hashtable<String, Boolean>(); 
         ^

could not parse error message: (use -source 5 or higher to enable generics) 
D:\bayer\util\src\main\java\com\tata\bayer\util\APIHttpXmlClient.java:27: error: generics are not supported in -source 1.3 
         Class<? extends APIResponse> responseClass) { 
         ^

Vui lòng đề xuất bất kỳ ý tưởng nào về cách làm lại lve này ??

+0

Bạn đang sử dụng phiên bản Maven nào và đã định cấu hình đúng JAVA_HOME – khmarbaise

Trả lời

42

Bạn có tuyên bố rằng bạn muốn sử dụng java 1.6 trong pom.xml dự án của bạn ?:

<build> 
     <pluginManagement> 
      <plugins> 
       <plugin> 
        <artifactId>maven-compiler-plugin</artifactId> 
        <version>2.3.2</version> 
        <configuration> 
         <source>1.6</source> 
         <target>1.6</target> 
         <compilerArgument></compilerArgument> 
        </configuration> 
       </plugin> 
      </plugins> 
     </pluginManagement> 
    </build> 
+0

Không phải là tên cuối cùng. – khmarbaise

+0

@AndreiBodnarescu cho bạn. Tên cuối cùng không liên quan đến vấn đề này. –

+1

chúng tôi đã làm theo cách này, 1,6 org.apache.maven.plugins maven-biên dịch-plugin 1,6 1,6 1,6 1.6 Chúng tôi đang sử dụng Java 1.7 và maven như Apache Maven 2.2.1 (r801777; 2009/08/07 00: 46: 01 + 0530) Java nhà: c: \ Softwares \ Java \ jdk1.7.0 \ jre –

5

Bạn cần phải cấu hình Maven Compiler Plugin.

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <version>2.3</version> 
    <configuration> 
    <source>1.6</source> 
    <target>1.6</target> 
    </configuration> 
</plugin> 
+0

Cần lưu ý rằng mặc định là 1,5 cho plugin trình biên dịch> = 2.3. Maven 2.2.1 mặc định là plugin trình biên dịch 2.0.2 nhưng bạn có thể ghi đè nó như mô tả. –

+2

(bằng cách này, có lỗi đánh máy trong phiên bản ví dụ, nhưng bạn không thể thực hiện chỉnh sửa 1 ký tự trên stackoverflow :) –

26

Định cấu hình trình biên dịch Maven Plugin sẽ khắc phục sự cố. Nó chỉ ra vấn đề là do gói Maven3 trong kho lưu trữ Ubuntu. Một bản sửa lỗi thay thế là tải xuống Maven 3 từ trang web Apache sử dụng plugin Compiler cập nhật hơn.

Tôi muốn biết tại sao điều này xảy ra khi tài liệu nêu rõ nguồn Java mặc định là 1.5. Để xem những gì mvn đang sử dụng để sử dụng plugin của trình biên dịch của bạn:

mvn help:effective-pom 

My Maven Compiler Plugin là 2.0.2 mặc dù tôi đã sử dụng Maven 3.0.4 từ các gói Ubuntu. Khi tôi chạy lệnh tương tự bằng cách sử dụng Maven 3.0.4 từ Apache tôi có một phiên bản plugin 2.3.2, mặc định là Java 1.5 như mong đợi.

+6

+1 cho câu trả lời Ubuntu – yochannah

+0

Đây cũng là vấn đề đối với tôi khi sử dụng gói Maven được cung cấp từ Ubuntu. Cài đặt từ Apache như được đề xuất và sự cố đã được giải quyết. –

1

Tôi muốn này:

<properties> 
    <maven.compiler.source>1.5</maven.compiler.source> 
    <maven.compiler.target>1.5</maven.compiler.target> 
    ... 
3

Một cách khác mà không liên quan đến sửa đổi pom là để xác định nguồn và đích trong dòng lệnh:

Lưu ý rằng điều này nên tránh được thường là xây dựng không thể được đảm bảo để có thể lặp lại theo cách này.

Các vấn đề liên quan