2012-07-05 20 views
10

Vì vậy, các nền nhanh chóng là tôi đang tạo ra một chương trình java, sử dụng nhiều năng nhập khác nhauLàm thế nào để nhập khẩu org.apache Java Dependencies w/hoặc w/o Maven

import org.apache.hadoop.conf.*; 
    import org.apache.hadoop.fs.Path; 
    import org.apache.hadoop.io.*; 
    import org.apache.hadoop.mapreduce.*; 
    import org.apache.hadoop.util.*; 
    import org.apache.hadoop.mapreduce.lib.input.FileInputFormat; 
    import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat; 

Tôi biết rằng Netbeans là không tìm thấy những tệp này vì tôi không có chúng trên máy tính của mình. Nhưng có cách nào để Netbeans tự động kết nối với org.apache và truy xuất các tệp này không? Hay tôi chỉ phải đi và tải chúng xuống. Có người đề nghị sử dụng Maven, nhưng tôi không chắc đây có phải là giải pháp đúng hay không?

Cảm ơn

+5

Tải xuống các JAR Hadoop và đặt chúng vào thư mục/lib của dự án của bạn. Bạn có thể tải chúng tại đây: http://hadoop.apache.org/common/docs/r0.20.2/quickstart.html. Tại sao trên trái đất bạn sẽ làm cho một điều đơn giản như vậy phức tạp? – duffymo

+1

50% câu hỏi này là về cách thực hiện nó trong thời gian này, nhưng 50% câu hỏi còn lại là cách thực hiện theo cách "đúng". –

+0

Vì vậy, làm thế nào là làm một cái gì đó đơn giản "sai"? – duffymo

Trả lời

7

Trừ khi bạn sử dụng cấu trúc Maven (xem tại đây getting started with Maven), bạn sẽ phải tải xuống tất cả các lọ bằng tay.

Nếu chỉ sử dụng Hadoop (như trong ví dụ của bạn), điều này có vẻ không quan trọng lắm, nhưng khi làm việc với các dự án lớn sẽ dễ khai báo các phụ thuộc của bạn hơn trong tệp pom.xml. Nó dễ dàng hơn nhiều so với việc tải xuống các lọ khác nhau, và bạn có thể dễ dàng chuyển sang phiên bản thư viện mới hơn, thay vì phải xóa và tải xuống một thư viện khác.

Tôi thấy rằng một người nào đó đã hỏi trong một nhận xét về lý do mọi người thích Maven quá nhiều. Thành thật mà nói, cá nhân tôi thấy nó dễ sử dụng và rất hữu ích. Hơn nữa, một dự án Maven có thể dễ dàng được nhập vào IntelliJ, Eclipse hoặc Netbeans, trong khi tạo ra ví dụ một dự án IntelliJ có thể gây khó khăn trong việc nhập nó trong Eclipse hoặc NetBeans.

Để bắt đầu sử dụng Maven với Netbeans, bạn có thể vào: Dự án mới, Danh mục: Maven Projects: {Best Option}. Sau đó, trong các tệp dự án, hãy mở tệp pom.xml. Đây là nơi phụ thuộc cho dự án của bạn được thêm vào. Nếu bạn không chắc chắn những gì để chèn hãy thử tìm kiếm tên jar của bạn + "maven" trên internet. Plugin cho Netbeans có thể kết nối với kho lưu trữ maven và tự động hoàn thành hầu hết các trường.

mẫu từ: http://mvnrepository.com/artifact/mysql/mysql-connector-java/5.1.6

<project...> 
.... 
<dependencies> 
    <dependency> 
     <groupId>org.apache.hadoop</groupId> 
     <artifactId>hadoop-core</artifactId> 
     <version>1.0.3</version> 
    </dependency> 
    <dependency> 
     <groupId>mysql</groupId> 
     <artifactId>mysql-connector-java</artifactId> 
     <version>5.1.6</version> 
    </dependency> 
</dependencies> 
... 
</project> 
+8

Trong một khoảnh khắc, tôi tự hỏi tại sao bạn giữ phụ thuộc của mình trong tệp porn.xml – gobernador

1

Không phải người dùng netbeans, nhưng tôi chắc chắn rằng ngay cả trong netbeans, bạn có plugin maven. "Mavenize" dự án của bạn, và khi bạn thực hiện cài đặt sạch mvn, bạn sẽ nhận được các lọ này đến kho lưu trữ maven cục bộ.
Với Eclipse tôi sử dụng plugin m2Eclipse và nó hoạt động thực sự tốt cho tôi.
Điều này tất nhiên phụ thuộc vào các lọ này có thể được tìm thấy trong các kho lưu trữ maven trên mạng, chẳng hạn như maven central repository.

+1

Tôi không hiểu tại sao mọi người lại thích Maven lắm. – duffymo

+2

Tôi không hiểu tại sao mọi người lại không thích Maven lắm. :-) –

+0

Mọi người? Không, chỉ là tôi. Đó là sự phức tạp không cần thiết vì lợi ích không đủ để giết tôi. Cộng với nhiệm vụ trên cấu trúc thư mục mà theo như tôi biết không thể thay đổi. – duffymo

2

Bạn phải tải xuống chúng. Tên org.apache.hadoop là tên gói và chúng tôi chỉ sử dụng tên của trang web làm quy ước. See this tutorial on packages để biết thêm thông tin. Về cơ bản, một gói là một thư mục trên máy tính của bạn, thường là trong thư mục Java\jre\lib\ext\.

3

Bạn sẽ phải tự tải xuống các tệp jar. Trừ khi bạn bắt đầu sử dụng Maven hoặc một công cụ quản lý phụ thuộc tương tự.

4

Tải file .jar ở đây: http://mvnrepository.com/artifact/org.apache.hadoop/hadoop-core/0.20.2

Trong Eclipse, nhấp chuột phải vào dự án của bạn, chọn Properties, hãy tìm trong hộp văn bản cho Thư viện, click vào Xây dựng đường dẫn, nhấp vào Thêm bên ngoài JAR và chọn tệp bạn đã tải xuống từ liên kết ở trên.

0

Tôi đã tìm ra cách ưa thích để tạo dự án Hadoop mới và nhập khẩu các phụ thuộc bằng Maven.

Sử dụng NetBeans Tôi tạo một dự án Maven mới.

Sau đó trong tệp dự án, tôi mở tệp pom.xml.

Cuối cùng tôi thêm bên trong

<dependency> 
     <groupId>org.apache.hadoop</groupId> 
     <artifactId>hadoop-core</artifactId> 
     <version>0.20.2</version> 
    </dependency> 

Sau khi xây dựng với sự phụ thuộc Tôi bây giờ đã sẵn sàng để mã.

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