2011-01-26 41 views
13

Tôi có thể thiếu một cái gì đó thực sự rõ ràng ở đây, nhưng tôi không thể tìm thấy các nguồn cho một vài lớp học từ gói javax.persistence.javax.persistence. * Nguồn, ở đâu?

Tôi đang sử dụng EclipseLink làm nhà cung cấp JPA. Khi tôi thử Ctrl + nhấp chuột trái vào một phương thức của giao diện EntityManager, Eclipse nói rằng tôi nên đính kèm các nguồn vì nó không thể tìm thấy chúng. Tôi đã thử gắn các EclipseLink nhưng nó phàn nàn nó không thể tìm thấy nguồn cho EntityManager ở đó.

Tôi cần đính kèm những nguồn nào để xem mã trong Eclipse? Ai đó có thể cung cấp một liên kết?

Trả lời

6

Tôi nghĩ nếu bạn tạo kiểu dự án JPA trong Eclipse, bạn sẽ có thể thấy nguồn JPA hoặc có thể tải mô-đun JPA.

Chỉ có mã nguồn để EclipseLink là trong EclipseLink-src.jar, bạn có thể truy cập vào nguồn để JPA từ kho EclipseLink,

http://dev.eclipse.org/svnroot/rt/org.eclipse.persistence/trunk/jpa/plugins/

Nguồn không phải là thú vị cho JPA, như nó là một spec, và tất cả các giao diện, có rất ít hoặc không có mã thực.

+1

Cảm ơn, .jar được gắn nhãn "nguồn" đã thực hiện thủ thuật! Tôi biết rằng nó chỉ là một spec và hầu hết các giao diện của nó, nhưng tôi muốn xem xét trong khi gỡ lỗi ngay hôm nay - chủ yếu là javadoc xuất hiện khi bạn di chuột qua phương thức. – pnt

+0

Tôi đã làm một wget http://dev.eclipse.org/svnroot/rt/org.eclipse.persistence/trunk/jpa/plugins/javax.persistence.source_2.0.101.v201206242320.jar, giải nén nó và khi nhật thực yêu cầu nguồn, tôi vừa chọn nguồn đã giải nén.Bây giờ, tôi có thể thấy mã nguồn khi tôi di chuột qua các phương thức javax.persistence.xyz. Cảm ơn rất nhiều. – user674669

1

NẾU bạn sử dụng maven

  1. Issue mvn eclipse:eclipse -DdownloadSource=true lệnh, để tải về các nguồn lọ đến địa phương .m2 repo.
  2. làm mới dự án trong nhật thực.

Nếu bạn sử dụng m2eclipse plugin,

  1. nhấp chuột phải vào dự án -> Maven -> Download nguồn.
  2. nhấp chuột phải vào dự án -> Maven -> Cập nhật cấu hình dự án.
0

Có thể bạn đã sử dụng phiên bản khác nhau cho các lớp học và bình nguồn?

+0

Tôi không nghĩ vậy - cả hai đều được lấy từ cùng một kho lưu trữ mà tôi đã tải xuống một vài tuần trước. Bản phân phối phải được đồng bộ hóa. Ngoài ra, các nguồn nằm trong một tệp zip. – pnt

4

Việc triển khai thực tế của các giao diện có thể được nhìn thấy bằng cách nhân bản repo git:

git clone https://github.com/eclipse/javax.persistence.git 
cd javax.persistence 

== Sau đó tìm một chức năng cụ thể

grep -ir 'close()' * 
src/javax/persistence/EntityManager.java: public void close(); 
src/javax/persistence/EntityManagerFactory.java: public void close(); 
src/javax/persistence/spi/PersistenceProviderResolverHolder.java: in.close(); 
Các vấn đề liên quan