2010-08-31 20 views
12

Dự án tôi đang làm việc có khoảng 10 tệp jar làm thư viện. Ở đầu một trong các tệp có một câu lệnh nhập như:Java - Làm cách nào để tìm ra tệp Jar nào cần nhập?

import jpe.nar.crat.maker.ObjectMakerFactory; 

Có cách nào để cho biết tệp Jar đó đến từ đâu không?

(Tôi đang sử dụng Netbeans nếu có vấn đề.)

Trả lời

2

Bạn có thể sử dụng Jar Class Search cho netbeans. Tôi không chắc rằng nó vẫn tương thích, nhưng nó đáng để thử.

1

Có lập trình hoặc tương tác?

Bạn có thể thử DocJar. Trong Eclipse, nhấn vào mục sẽ hiển thị cho bạn (bảng chỉnh sửa sẽ hiển thị nguồn (nếu được đính kèm) hoặc các phương thức có sẵn trong khi Package Explorer sẽ mở cây cho lớp), tôi sẽ ngạc nhiên nếu Netbeans không hoạt động tương tự manor.

2

Tôi thích JFind rất nhiều:

http://jfind.sourceforge.net/

... nó hoạt động một cách đệ quy bằng cách nhìn vào jar của, bên trong chiến tranh, tai bên trong của, vv ...

Nếu bạn quấn java launcher trong một kịch bản shell và đặt nó trên PATH của bạn, nó sẽ trở thành một công cụ rất mạnh mẽ:

Tức là để tìm tất cả EntityManager lớp trong thư mục jboss-6.0.0.20100429-M3:

$ jfind.sh EntityManager ./jboss-6.0.0.20100429-M3 
Search String: EntityManager 
Windows Search Location: jboss-6.0.0.20100429-M3 

....jjj.jjjjjjjjjjj 
ClassName = javax/persistence/EntityManager.class 
JarName = jboss-6.0.0.20100429-M3\client\hibernate-jpa-2.0-api.jar 
---------------- 


jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj 
jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj 
ClassName = org/apache/xerces/impl/XMLEntityManager.class 
JarName = jboss-6.0.0.20100429-M3\client\xercesImpl.jar 
---------------- 

Một vỏ bọc nhỏ để sử dụng trong Cygwin:

if [ $# -ne 2 ] 
then 
    echo "Usage: `basename $0` <classname> [<fromDir>]" 
    exit 1 
fi 

echo Search String: $1 
SEARCH_LOCATION=`cygpath -w $2` 
echo Windows Search Location: $SEARCH_LOCATION 

java -jar `cygpath -w $HOME/bin/JFind.jar` "$1" "$SEARCH_LOCATION" 
echo 
4

Các bạn đã thử làm một 'Open Tuyên bố' trên lớp học? Trong Eclipse, khi bạn làm điều đó, nó sẽ mở ra một cửa sổ hiển thị tên của bình và cho bạn biết rằng lọ này có 'Không có tệp đính kèm nguồn'. Tôi hy vọng một cái gì đó tương tự sẽ xảy ra cho NetBeans.

Cảm ơn, R

1

Trong IDE Netbeans: Trong mã của bạn, hãy chọn tên lớp. Sau khi tệp java có liên quan xuất hiện trong trình soạn thảo (nếu bạn không có nguồn cho lớp, nó có thể không hiển thị nhiều). Nhấp chuột phải vào bất kỳ đâu trong cửa sổ nguồn và chọn "Chọn trong dự án". Lớp sẽ hiển thị được tô sáng trong bình chứa nó đến từ đâu.

Điều này đã hoạt động ít nhất là ở xa như Netbeans 8.0.

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