2012-03-13 58 views
7

Tôi có dự án Maven. Khi tôi cố gắng xây dựng nó với Maven, tôi nhận được lỗi này:Không tìm thấy "tệp lớp học cho ... không tìm thấy" lỗi biên soạn

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2. 
    3.2:compile (default-compile) on project myProject: Compilation failure: 
    Compilation failure: 
[ERROR] ClassA.java:[32,38] cannot access ClassB 
[ERROR] class file for ClassB not found 

ClassB là bên trong tạo tác khác, và tạo tác đó là trong kho địa phương. Trong thực tế, tôi không có vấn đề gì khi xây dựng dự án này với plugin Meclecleclecleclipse. Chỉ khi tôi chạy mvn compile thì bản dựng không thành công.

Tôi phải làm gì để xây dựng từ dòng lệnh?

Trả lời

1

Eclipse có thể bỏ qua phụ thuộc pom của bạn và 'giúp đỡ' bạn bằng cách tìm một phụ thuộc không có trong pom của bạn. Sau đó, khi bạn chạy từ dòng lệnh eclipse không có để giúp đỡ nữa. Tôi sẽ tăng gấp đôi kiểm tra pom của bạn mà bạn rõ ràng nhà nước phụ thuộc. Bạn cũng có thể thử

mvn dependency:analyze 

để biết thêm thông tin.

+0

Các phụ thuộc được xác định một cách chính xác trong pom – ade

+0

đăng tập tin pom.xml của bạn và bạn src cây sẽ giúp (linux cây lệnh) –

+0

tôi đã cùng một vấn đề sau khi một số biên dịch các vấn đề ngược dòng trong một 'mvn clean install' đầy đủ. Vấn đề là Eclipse đã giải quyết từ không gian làm việc của riêng nó nhưng maven phải làm việc với một kho lưu trữ cục bộ không đầy đủ hoặc bị lỗi. Giải pháp: thực hiện một 'mvn sạch install' trên toàn bộ dự án một lần nữa (từ dòng lệnh), mà theo m2eclipse sẽ mang lại không có nhiều lỗi biên dịch ngược dòng – krevelen

1

Có vẻ như bạn đã xác định một lớp thông thường trong src/test/java thay vì khu vực src/main/java mà đôi khi vấn đề gây ra những điều nhật thực hoạt động hơi khác một chút.

-2

add để pom.xml:

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <configuration> 
       <source>1.6</source> 
       <target>1.6</target> 
       <encoding>UTF-8</encoding> 
       <compilerArguments> 
        <extdirs>src\main\webapp\WEB-INF\lib</extdirs> 
       </compilerArguments> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 
+0

Tại sao bạn nghĩ, điều này sẽ giúp ích? – dunni

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