2011-11-06 44 views
25

Tôi có bốn tệp java trong thư mục của mình. Họ là tất cả trong cùng một gói. Dưới đây là tuyên bố gói
package com.osama.GHideBiên dịch bốn tệp java trong một gói bằng cách sử dụng javac

Tất cả các lớp này đều nằm trong cùng một gói. Tôi muốn biết làm thế nào tôi có thể biên dịch chúng bằng cách sử dụng javac (tôi có nghĩa là tôi không biết làm thế nào để biên dịch nhiều tập tin đang sử dụng lẫn nhau). Và một khi đã xong, làm cách nào để khởi chạy sau đó sử dụng lệnh java trong CLI? đây là tên tập tin.
EnteringPoint.java HidingProcess.java ListFiles.java

+0

có thể trùng lặp: http://stackoverflow.com/questions/5194926/compiling-java-files-in-all-subfolders –

+4

Bạn không nên sử dụng 'com.osama' làm tên gói trừ khi bạn sở hữu' osama. com 'tên miền. – SLaks

+0

cảm ơn bạn. Tôi sẽ nhớ lại từ bây giờ. – prometheuspk

Trả lời

63

Từ thư mục gốc của dự án:

javac src/com/osama/GHide/*.java 

Để chạy, giả sử không có phụ thuộc khác: (. Giả sử EnteringPoint đã bình thường main chức năng)

java -cp ./src com.osama.GHide.EnteringPoint 

Lệnh javac biên dịch tất cả các tệp .java trong thư mục của gói. Vì tất cả chúng đều nằm trong cùng một gói/thư mục, nên nó hoạt động. Nó cũng đặt các tập tin .class được tạo ra trong cùng một thư mục, có thể hoặc không thể là những gì bạn muốn.

Để đặt chúng vào một thư mục khác, hãy sử dụng tùy chọn -d và cung cấp đường dẫn.

javac -d bin src/com/osama/GHide/*.java 

Sau đó, để chạy:

java -cp ./bin com.osama.GHide.EnteringPoint 
1

Bạn có thể chạy bằng cách sử dụng lệnh: - javac -cp src/com/**/* java Tôi asuming không có dependenices khác và của bạn. tên lớp gốc sẽ là src.

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