2008-12-17 38 views
31

Trong khi phát triển (và để gỡ lỗi), rất hữu ích khi chạy một phương thức static static (String [] argv)public Java trực tiếp từ bên trong Eclipse (sử dụng Run As trình đơn ngữ cảnh).Gọi phương thức chính Java với các tham số từ Eclipse

Có cách tương tự nhanh nào để chỉ định tham số dòng lệnh cho lần chạy không? Những gì tôi làm bây giờ là đi đến "Run Dialog", nhấp qua các cài đặt khác nhau vào tab nơi tôi có thể chỉ định các đối số VM và chương trình và nhập chúng vào đó. Quá nhiều bước, cộng với tôi không muốn kết hợp các cài đặt cấu hình thời gian chạy lâu dài hơn với các tham số invokation một lần. Điều tôi muốn thay vào đó là kiểm tra hộp ở đâu đó (hoặc có một mục trình đơn riêng biệt "Chạy dưới dạng ứng dụng Java với dòng lệnh") và sau đó được nhắc cho dòng lệnh mỗi lần (với lịch sử đẹp).

+1

Như Uri nói, tôi không nghĩ rằng điều này là có thể, nhưng nó sẽ thực sự tuyệt vời. Tôi cũng thực sự không thích điền vào hộp thoại chạy. –

Trả lời

49

Câu trả lời này dựa trên Eclipse 3.4, nhưng nên hoạt động trong các phiên bản cũ hơn của Eclipse.

Khi chọn Chạy dưới dạng ..., hãy đi vào cấu hình chạy.

Trên tab Đối số của cấu hình chạy Java, định cấu hình biến $ {string_prompt} để xuất hiện (bạn có thể nhấp vào biến để tải hoặc sao chép biến để đặt trực tiếp).

Mỗi khi bạn sử dụng cấu hình chạy đó (đặt tên cho nó tốt để bạn có nó sau này), bạn sẽ được nhắc cho các đối số dòng lệnh.

2

AFAIK không có cơ chế tích hợp trong Eclipse cho việc này.

Gần nhất bạn có thể nhận là tạo trình bao bọc nhắc bạn về các giá trị này và gọi chính (mã hóa cứng). Sau đó, bạn sẽ nhận được lịch sử thực thi miễn là bạn không xóa các quy trình đã chấm dứt. Hai biến thể này là sử dụng JUNit hoặc sử dụng tiêm hoặc tham số để trình bao bọc của bạn luôn kết nối với lớp chính xác cho lớp chính của nó.

1

Tôi không chắc chắn sử dụng của bạn là gì, nhưng tôi thấy thuận tiện khi tôi sử dụng không nhiều tham số dòng lệnh, vì vậy mỗi trường hợp đó đều có cấu hình chạy và tôi chỉ cần chọn Lịch sử chạy.

Tính năng bạn đang đề xuất có vẻ hơi quá mức, IMO.

14

Uri sai, có một cách để thêm tham số vào phương thức chính trong Eclipse, tuy nhiên các thông số sẽ không linh hoạt (một số tham số động được cho phép). Dưới đây là những gì bạn cần làm:

  1. Chạy lớp học của bạn một lần.
  2. Đi đến Run -> Run configurations...
  3. Từ danh sách bên trái, chọn lớp học của bạn từ danh sách dưới Java Application hoặc bằng cách nhập tên của nó vào hộp bộ lọc.
  4. Chọn tab Đối số và viết đối số của bạn vào hộp Program arguments. Chỉ trong trường hợp nó không rõ ràng, chúng được tách biệt khoảng trắng vì vậy "a b c" (không có dấu ngoặc kép) có nghĩa là bạn sẽ chuyển đối số a, b và c cho chương trình của bạn.
  5. Chạy lớp học của bạn một lần nữa giống như ở bước 1.

tuy nhiên tôi khuyên bạn sử dụng lớp JUnit/wrapper giống như Uri đã nói từ cách mà bạn có thể kiểm soát tốt hơn rất nhiều so với các thông số thực tế hơn bằng cách làm này .

+0

Tôi nghĩ rằng Thilo/Uri đang nói về một cách đơn giản để làm điều này _without_ liên quan đến delving vào hộp thoại Run - như câu hỏi của ông nói. –

+0

Tôi phải trích dẫn đối số tên tệp vì nó có dấu cách trong đó. Cảm ơn – danny117

0

Một ý tưởng:

Nơi tất cả các thông số của bạn trong một thuộc tính tập tin (một tham số = một tài sản trong tập tin này), sau đó trong phương pháp chính của bạn, tải tập tin này (sử dụng Properties.load(*fileInputStream*)). Vì vậy, nếu bạn muốn sửa đổi một đối số, bạn sẽ chỉ cần chỉnh sửa tệp args.properties của bạn và khởi chạy ứng dụng của bạn mà không cần thực hiện thêm ...

Tất nhiên, điều này chỉ dành cho mục đích phát triển, nhưng có thể thực sự hữu ích nếu bạn phải thay đổi đối số của bạn thường xuyên ...

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