2012-06-10 39 views
7

Mặc dù nó có thể được giới thiệu một cách sử dụng và IDE để mã hóa các dự án java nâng cao, cá nhân tôi thích chạy gần như hoàn toàn dòng lệnh (sử dụng gedit làm trình soạn thảo văn bản). Vì vậy, xin vui lòng không chỉ cho tôi biết "Chỉ cần sử dụng eclipse!" hoặc một cái gì đó: Ptạo gói java trong dòng lệnh

Câu hỏi của tôi là phương pháp tạo gói trong java là bằng một lệnh.

Tôi không nói về việc đóng gói một ứng dụng chạy trong dòng lệnh, tôi đang nói về việc tạo một gói trong dòng lệnh. Tôi có đang tạo một tệp văn bản không? Tôi có tạo một thư mục không?

Có liên quan, làm thế nào để liên kết đến các thư viện liên quan và người bản xứ không sử dụng IDE?

Tôi biết tôi đang thực sự lúng túng ở đây, nhưng tôi thực sự thích người điều khiển hoạt động trong dòng lệnh.

+3

"Tạo ra một gói"? Bạn có nghĩa là "tạo ra một JAR"? Nếu có, hãy bắt đầu với tài liệu: http://docs.oracle.com/javase/tutorial/deployment/jar/index.html. –

+0

nope, lọ là dễ dàng đủ: PI có nghĩa là một gói thực tế (mà, nó quay ra, chỉ là một thư mục ... – gossfunkel

Trả lời

5

gói chỉ là các thư mục trên hệ thống tệp. để gói của bạn: com.mycompany.util tương ứng với một thư mục com/mycompany/util.

Khi chạy và biên dịch, thư mục workding hiện tại của bạn sẽ là nơi đặt thư mục trên cùng.

Để bao gồm thư viện, hãy đưa chúng vào đường dẫn lớp của bạn khi biên dịch và chạy. Ví dụ tạo ra một thư mục dự án myproject và dưới có java-tập tin của bạn và các gói dưới myproject/src/ và các thư viện mà bạn sử dụng dưới myproject/libs/ Sau đó, khi thư mục workding hiện tại của bạn là myproject thực hiện java -cp .:libs/*.jar hoặc tương tự với javac.

Nhưng tôi khuyên bạn nên xem xét sử dụng kiến ​​hoặc quạ.

+3

thats right ... gói không là gì ngoài cấu trúc thư mục được tổ chức –

2

Bạn có thể làm quen với dòng lệnh bằng cách sử dụng công cụ đóng gói như Ant hoặc Maven. Maven đặc biệt tiện dụng vì nó là công cụ cấp cao hơn đã biết cách xây dựng các loại dự án khác nhau: ứng dụng dòng lệnh, webapps, thư viện, v.v. Nó cũng xử lý các phụ thuộc thư viện bằng cách tải chúng xuống từ kho.

+0

Tôi không nghĩ rằng đây là những gì OP là sau. Anh ấy nói về gói trong mã nguồn java, không –

+0

@AleksG - Maven sẽ vẫn hữu ích khi OP cần "liên kết tới các thư viện liên quan." –

7

Có ba phần: (1) tạo cấu trúc thư mục; (2) cho biết gói trong tệp java; (3) biên dịch nó.

Ví dụ, nếu bạn muốn tạo gói com.mycompany.myproject, sau đó bạn cần phải bắt đầu trong thư mục cơ sở cho dự án của bạn và sau đó:

(1) tạo thư mục com/mycompany/myproject

(2) tạo ra các file java trong thư mục đó, ghi rõ số package com.mycompany.myproject trong thư mục đó;

(3) biên dịch các tập tin, ví dụ, với javac -cp . com/mycompany/myproject/*.java

Bạn có thể muốn chỉ định một thư mục đầu ra khác nhau để không pha trộn các nguồn và các lớp học biên soạn.

Nếu bạn cần sử dụng thư viện bên ngoài (tệp .jar) để biên dịch, thì bạn cần sử dụng thông số -cp hoặc -classpath dòng lệnh để công cụ javac chỉ định chúng, ví dụ:

javac -cp .:some_library.jar:lib/another_library.java com/mycompany/myproject/*.java 

Có thể nên đặt tất cả thư viện bên ngoài vào một nơi, ví dụ: lib thư mục con của thư mục dự án chính của bạn. Và, nhân tiện, lệnh trên javac giả định môi trường giống như Unix. Nếu bạn đang sử dụng Windows, bạn cần sử dụng ; để tách đường.

1

Java Package chỉ là một cấu trúc thư mục, do đó, một cách đơn giản để tạo ra một gói cho phép nói com.organization.test trong thiết bị đầu cuối sẽ

mkdir -p com/organization/test