2011-08-14 36 views
15

Khi trạng thái tiêu đề, tôi đang cố gắng sử dụng javap với nhật thực nhưng gặp khó khăn khi thiết lập nó. Tôi đang cố gắng thiết lập nó bằng cách sử dụng external tools từ menu run nhưng không thể tìm thấy chuỗi Arguments: chính xác để làm cho nó hoạt động. Về cơ bản tôi cần một cái gì đó mà sẽ tự động thực hiện các tập tin hiện tại tôi đã mở.Làm thế nào để sử dụng javap với nhật thực?

Trả lời

24

tôi sử dụng cấu hình công cụ bên ngoài sau đây để đạt được điều này:

enter image description here

${system_path:javap} được sử dụng để xác định vị trí javap trong JDK sử dụng bởi Eclipse. Thay vào đó, bạn có thể sử dụng đường dẫn tuyệt đối để javap.

${project_loc} trả lại đường dẫn tuyệt đối cho dự án. Điều này được sử dụng, vì tôi không thể tìm thấy biến xác định trước để sử dụng, để định vị tệp .class của tài nguyên và đó là lý do tại sao javap chạy trong thư mục của dự án thay vì thư mục chứa tệp .class.

Trong số các đối số truyền cho javap:

  • bin là thư mục đầu ra mặc định cho các dự án Eclipse. Thay đổi điều này thành build/classes hoặc bất kỳ thứ gì được dự án sử dụng. Lưu ý, giá trị có liên quan đến ${project_loc}; bạn có thể chỉ định đường dẫn tuyệt đối để thay thế.
  • ${java_type_name} được sử dụng để lấy tên lớp đã chọn.

Bạn có thể chọn tệp Java trong khung nhìn Project explorer hoặc Project navigator hoặc thậm chí là kiểu Java trong bất kỳ khung nhìn nào, sau đó chạy công cụ bên ngoài. Lưu ý - cách tiếp cận này không hoạt động tốt khi bạn chọn phương thức, lớp bên trong, v.v. sau đó chạy công cụ, vì chúng không phải là tài nguyên, dẫn đến trường hợp ${project_loc} sẽ trống.

+0

Cảm ơn bạn! [...] – guest

+0

+1 cũng được cập nhật hình ảnh để đặt '-c' trước' ClassName' vì các thông số phải được đặt trước đó. Hy vọng bạn không nhớ :) – Pshemo

2

Vấn đề của bạn là javap requres đường dẫn đến file class nhưng khi bạn chọn file nguồn của bạn, bạn có thể truy cập vào eclipse biến ${selected_resource_loc} chứa đường dẫn đến nguồn java. Theo tôi hiểu không có biến chứa đường dẫn đến tệp lớp.

Tôi nghĩ rằng cách dễ nhất cho bạn là tạo tập lệnh tùy chỉnh chấp nhận đường dẫn đến tệp java, thay thế java thành class và thư mục nguồn vào thư mục bin. Nếu bạn đang sử dụng Linux nó có thể dễ dàng thực hiện bằng cách sử dụng lệnh sed. Nếu bạn đang ở trên cửa sổ nó có thể được thực hiện bằng cách sử dụng lệnh SET với ~. Xem trợ giúp để biết thêm chi tiết.

Chúc may mắn.

0

Vui lòng thử sửa đổi Working Directory để khớp với thư mục đầu ra của dự án java của bạn. Trong trường hợp của tôi, nó trông như được đưa ra dưới đây.

Working Directory: ${workspace_loc:/Sample/bin}

Rồi tôi chọn các tập tin .class và thực hiện các javap mà không cần bất kỳ vấn đề.

0

Để tháo rời tệp hiện đang được chọn .class trong Eclipse, tôi sử dụng arguments sau đây trong Cấu hình công cụ bên ngoài.

Các lớp cách này trong các gói con của thư mục bin cũng có thể được tháo rời. Đầu ra được hiển thị trong giao diện Console.

Tài liệu Oracle của javap parameters.

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