2012-02-25 28 views
16

Điều này có vẻ giống như một câu hỏi ngu ngốc, nhưng tôi phụ thuộc vào trình hướng dẫn của Netbeans 7.1. Có vẻ như không phải là một lựa chọn để làm điều này.Làm cách nào để tạo/sử dụng thư viện lớp học với Netbeans trên đầu trang của Maven?

Ứng dụng web của tôi được xây dựng bằng Maven và tôi muốn chia nhỏ một số gói của nó thành thư viện lớp được xây dựng và duy trì độc lập (cụ thể là phần JPA nhưng không quan trọng.) các gói trong ứng dụng web gốc và sau đó tạo phụ thuộc vào tạo phẩm mà tôi tạo.

Vậy làm cách nào để bắt đầu? Thuật sĩ New-Project Netbeans dường như không có tùy chọn cho "Thư viện lớp Java" giống như nó dành cho các dự án xây dựng ANT. Lựa chọn gần nhất tôi có thể thấy là "Ứng dụng Java". Đó là những gì tôi sử dụng và chỉ bỏ qua các lớp học chính hoặc có một số con đường khác tôi không nhìn thấy?

Tôi thường khá giỏi khi chọn nội dung này nhưng tìm kiếm trên web của tôi không mang lại nhiều lợi ích. Cảm ơn rất nhiều vì đã giúp đỡ.

+0

có liên quan và không may khép kín lỗi: https://netbeans.org/bugzilla/show_bug.cgi?id=235638 – lpd

Trả lời

16

Bạn có thể sử dụng trình hướng dẫn cho "Maven" -> "Ứng dụng Java (Ứng dụng Java SE đơn giản sử dụng Maven)", theo như maven liên quan không có sự khác biệt giữa thư viện và ứng dụng. Tôi nghĩ netbeans sẽ tạo ra một mẫu App.java mà bạn có thể chỉ cần xóa.

Để tiện ích của bạn, bạn cũng nên tạo một dự án mẹ cho thư viện và ứng dụng web. Xây dựng phụ huynh sau đó cũng sẽ xây dựng cả thư viện và ứng dụng web. Nó cũng cho phép bạn sử dụng "xây dựng với các phụ thuộc" trên ứng dụng web và có thư viện được xây dựng lại trước.

Để tạo dự án mẹ, bạn có thể sử dụng mục nhập "Dự án POM". Cấu trúc thư mục lý tưởng trông như thế này:

- pom.xml (for parent project) 
- library (folder) 
    - pom.xml (for library module) 
- webapp (folder) 
    - pom.xml (for webapp module) 

Dự án cha mẹ sau đó nên chứa module yếu tố có chứa các đường dẫn tương đối của các dự án khác của bạn:

<modules> 
    <module>library</module> 
    <module>webapp</module> 
</modules> 

các thư viện và web ứng dụng tham khảo phụ huynh như thế này, groupId và phiên bản được mặc định là giống như parent:

<modelVersion>4.0.0</modelVersion> 
<parent> 
    <groupId>myGroupId</groupId> 
    <artifactId>parentArtifactId</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <relativePath>../pom.xml</relativePath> 
</parent> 
<artifactId>libraryArtifactId</artifactId> 
+0

OK Tôi nghĩ rằng tôi hiểu - khi tôi về nhà tôi sẽ cố gắng chơi với này để xem nếu tôi có thể làm cho nó hoạt động. – AlanObject

+0

Làm việc như một sự quyến rũ, cảm ơn. – toniedzwiedz

3

Bạn có thể bắt đầu với Maven> POM Project. Đó là thích hợp cho các thư viện lớp.

Ngoài ra, bạn có thể làm cho dự án Maven của bạn "mô-đun". Hướng dẫn tốt có thể được tìm thấy http://sonatype.com/books/mvnex-book/reference/index.html trong Chương 8 và 9.

+0

Cảm ơn bạn đã giới thiệu tới http://sonatype.com/books/mvnex-book/reference/index.html, tuyệt vời! –

1

Các công trình sau đây hoàn hảo cho thư viện lớp học trong NetBeans8.1.

Bạn sẽ phải nâng cấp các phiên bản plugin chính trong tệp Maven (và bạn muốn loại bỏ JUnit nếu bạn không sử dụng nó, xem dưới cùng).

KHÔNG sử dụng New Project -> Maven -> Java Application, nó KHÔNG tích hợp với hệ thống menu phụ thuộc Maven trong NetBeans-8.1.

Thực hiện theo các bước sau:

  • Bước 1: Tạo một New Project -> Maven -> Project from Archtype sau đó trong bộ lọc tìm kiếm nguyên mẫu chọn maven-archetype-quickstart.

  • Bước 2: Nhấp Tiếp và sau đó nhập tên của bạn dự án/mô-đun (mylib hoặc MyAPI) sau đó Hoàn.

  • Bước 3: Ngay lập tức (trước khi bạn quên) dưới Project Settings > Sources thay đổi định dạng Nguồn/nhị phân từ 1,5 đến 1,8 (hoặc khác).

  • Bước 4: Ngay lập tức (trước khi bạn quên) dưới Project Settings > Licence Headers chọn giấy phép.

  • Bước 5: Tạo mới (hoặc sao chép từ dự án cũ) lớp Java hoặc tệp giao diện vv trong Gói nguồn trong trình duyệt dự án.

  • Bước 6: (tùy chọn) xóa public class App nếu bạn không muốn có lớp chạy/thử nghiệm mô-đun độc lập đơn giản.

  • Bước7: (Được khuyến nghị): Nâng cấp các plugin Maven chính lên các phiên bản mới nhất bằng cách chỉnh sửa số phiên bản trong tệp pom.xml! Nơi tốt nhất để tìm ra các phiên bản mới nhất là bằng cách kiểm tra các thư mục dưới kho plugin chính: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/

Dưới bất kỳ dự án NetBeans Maven khác dựa trên tính năng mới "ngược dòng" thư viện hoặc API dự án sẽ được cung cấp thông qua Dependendies -> Add Dependency .. (Open Projects subtab). Nó cũng sẽ được cung cấp thông qua hệ thống quản lý kho lưu trữ khi bạn tìm kiếm thư viện Maven qua Add as Dependency.

Nếu bạn muốn thêm thư viện chung/chia sẻ, chỉ cần thêm chúng qua mô-đun MyLib hoặc MyAPI của bạn bằng tính năng Phụ thuộc Maven; họ sẽ tuyên truyền cho bất kỳ mô-đun "hạ lưu" nào thêm mô-đun MyLib hoặc MyAPI của bạn dưới dạng Phụ thuộc.

Tùy chọn: Ngoài ra, pom.xml của bạn sẽ theo mặc định bao gồm JUnit:

<dependencies> 

    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>3.8.1</version> 
     <scope>test</scope> 
    </dependency> 

Chỉ cần xóa nó nếu bạn không muốn nó.

+0

PS: Bạn đã viết "Điều này có vẻ như một câu hỏi ngu ngốc". Người ta thường nói rằng không có điều gì như một câu hỏi ngu xuẩn; Tôi thực sự nghĩ rằng có những câu hỏi ngu ngốc, nhưng bạn không phải là một trong số họ. 1 cho yêu cầu, nó đã giúp tôi. –

+0

Vâng, nó có vẻ như nó với tôi vào thời điểm đó.Những ngày này trên SO có quá nhiều tay súng bắn tỉa tự hào về những câu hỏi bỏ phiếu và tôi nghĩ đây có thể là một mục tiêu. Nhưng cảm ơn câu trả lời. – AlanObject

+1

@AlanObject Xem các chỉnh sửa mới đề xuất nâng cấp các phiên bản plugin Maven để khớp với phiên bản mới nhất trong https://repo.maven.apache.org/maven2/org/apache/maven/plugins/ –

2

Tôi đã tìm thấy cách nâng cấp phiên bản plugin của bạn nhanh hơn bằng pom.xml bằng NetBeans.

  1. Xác định vị trí các plugin -> Plugin -> phiên bản thẻ trong pom.xml của bạn
  2. Doubleclick số phiên bản để nó trở nên nổi bật
  3. Nhấn tổ hợp phím CTRL + SPACE để chuyển đổi tự động hoàn
  4. Các sổ popup menue phép bạn chọn các phiên bản có sẵn. Screenshot
Các vấn đề liên quan