2012-05-13 38 views
18

Tôi đã tải xuống nguồn cho tất cả các JAR Maven trong đường dẫn xây dựng của mình bằng Maven-> Tải xuống nguồn và mvn eclipse:eclipse -DdownloadSources=true, đã hoạt động! Khi tôi mở đường dẫn xây dựng, tôi có thể thấy rằng các JAR nguồn được đính kèm cho mỗi tệp JAR.Eclipse không chọn nguồn được gắn Maven để gỡ lỗi

Nhưng khi tôi chạy thứ chết tiệt trên Tomcat 6, tôi tiếp tục nhận được trang "Không tìm thấy nguồn" với nút "Chỉnh sửa mã nguồn tra cứu". Nhưng nguồn đã được đính kèm trong đường dẫn xây dựng. Điều này không có tác dụng gì?

Khi tôi trỏ thủ công tệp đó vào tệp JAR bằng cách nhấp vào nút "Chỉnh sửa đường dẫn tra cứu nguồn", nó hoạt động. Và khi tôi tự trỏ nó vào thư mục nó không hoạt động. Tại sao Eclipse hoặc Tomcat không chọn nguồn được đính kèm trong đường dẫn xây dựng?

Lưu ý: Tôi đang sử dụng apache-maven-3.0.4, apache-tomcat-6.0.16 và Eclipse Indigo Service Release 2.

Trả lời

14

Mặc dù lỗi này đã được nhiều phiếu nhất của tất cả các lỗi @Sonatype , nó chưa được sửa.

Tuy nhiên tôi đã điền một yêu cầu nâng cao trên Eclipse Bugzilla và nếu bạn đồng ý vấn đề này "Không tìm thấy nguồn" nên hãy bỏ phiếu cho nó here.

Bạn có thể tìm thấy ba cách giải quyết here.

+0

Lỗi xuất hiện cố định ngay bây giờ. – cellepo

+0

@cellepo Tôi hiện đang gặp sự cố [nghe quen thuộc] (http://stackoverflow.com/questions/37690353/eclipse-does-not-show-source-code-of-dependencies-in-debug-view) :( – displayname

+1

Vẫn còn vấn đề này tồn tại trong Phiên bản: Oxygen.1a Phát hành (4.7.1a) Xây dựng id: 20171005-1200. –

1

Trong trường hợp của tôi sự cố có liên quan với mã nguồn được đính kèm với "Cấu hình gỡ lỗi", có thể một số dấu tích còn lại tạo thành di chuyển sang Maven.

Tôi đã giải quyết nó bằng cách đi tới trang "Gỡ lỗi cấu hình ..." và chọn cấu hình trong trường hợp, sau đó tại tab "Nguồn", tôi đã khôi phục các giá trị mặc định, bổ sung tất cả các phụ thuộc Maven của dự án.

0

Window-> Preferences-> JBoss Tools-> Lookup Nguồn

chắc chắn rằng bạn có đánh dấu "Tự động thêm các thùng chứa nguồn JBoss Maven cho tất cả JBoss Như cấu hình ra mắt". và trong "Tự động định cấu hình tệp đính kèm nguồn Java", chọn "Luôn luôn".

điều này giúp tôi thoát khỏi vấn đề.

0

Tôi nghĩ rằng tôi đã tự khắc phục sự cố này bằng cách cập nhật Eclipse m2e của mình. Tôi nghĩ rằng tôi đã có phiên bản ~ 1.2 và sau đó được cập nhật lên [bằng văn bản] mới nhất 1.6.2.

Eclipse Bug comments đã giúp tôi tìm hiểu điều này.

Bây giờ tôi có thể gỡ lỗi vào gquery-dnd-bundle-1.0.6 của mình!

5

Tôi tìm thấy plugin này com.ifedorenko.m2e.sourcelookup. Liên kết được cung cấp trong "Java Debugging: Source not found".

Đến Help > Install New Software .. và sử dụng

http://ifedorenko.github.com/m2e-extras/

để tìm kiếm các liên kết. Sau khi cài đặt plugin này, tôi cuối cùng đã có thể gỡ lỗi mã nguồn của các phụ thuộc.

-1
 <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-source-plugin</artifactId> 
      <version>${version.maven-source-plugin}</version> 
      <executions> 
       <execution> 
        <id>attach-sources</id> 
        <goals> 
         <goal>jar-no-fork</goal> 
         <goal>test-jar-no-fork</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 
+2

Câu trả lời của bạn chắc chắn là đáng giải thích một chút. Vui lòng tham khảo http://stackoverflow.com/help/ cách trả lời. –

-1

Dự án maven "đích" phải phát ra mã nguồn trước khi dự án "khách hàng" có thể có quyền truy cập vào mã nguồn. Tôi đã giải quyết vấn đề bằng cách sử dụng tính năng cắm nguồn maven trong dự án "đích": https://maven.apache.org/plugins/maven-source-plugin/index.html

Chỉ cần sử dụng đoạn mã sau trong tệp pom.xml của dự án đích, tạo bản phát hành và sử dụng phiên bản phát hành vào tệp pom.xml của dự án khách hàng. Sau đó che khuất có thể tự động cho phép bạn "nhảy" vào dự án mục tiêu seamlesly:

 <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-source-plugin</artifactId> 
      <version>${version.maven-source-plugin}</version> 
      <executions> 
       <execution> 
        <id>attach-sources</id> 
        <goals> 
         <goal>jar-no-fork</goal> 
         <goal>test-jar-no-fork</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 
0

Sử dụng ngoài Maven thay vì mặc định Embedded trong Debug Cấu hình đối thoại.

Hãy xem ví dụ hình dưới đây (menu Run -> Debug Configurations ...):

Configure external Maven

môi trường Tested:

  • Eclipse IDE cho Java Developers: Oxygen.1a phát hành (4.7.1a), 64 bit (từ spring.io)
  • Oracle JDK jdk1.8.0_144, 64-bit
  • Maven: 3.5.2
  • Hệ điều hành: Windows 10 Enterprise N, 64-bit
  • Kiểm tra mục tiêu hpi:run (mẫu Jenkins plugin)
Các vấn đề liên quan