Làm cách nào để thêm một phụ thuộc Maven trong Eclipse?


128

Tôi không biết cách sử dụng Maven. Tôi đã phát triển được vài năm với Eclipse và chưa cần biết về nó. Tuy nhiên, bây giờ tôi đang xem một số tài liệu đề nghị tôi làm như sau:

"Để bao gồm nó trong dự án của bạn, chỉ cần thêm phụ thuộc maven này vào bản dựng của bạn."

<repository>
   <id>jboss</id>
   <url>http://repository.jboss.org/maven2</url>
</repository>

   ...
<dependency>
   <groupId>org.jboss.resteasy</groupId>
   <artifactId>resteasy-jackson-provider</artifactId>
   <version>1.1.GA</version>
</dependency>

Làm thế nào để tôi làm điều này với dự án Eclipse của tôi?

Hãy cho rằng tôi không biết gì về Maven. Tôi chỉ cần tìm ra nó có thể được cài đặt trên máy tính của tôi bằng cách gõ mvnvào dòng lệnh, nhưng đó thực sự là phạm vi hiểu biết của tôi. Tôi sẽ rất vui khi tiếp tục không biết gì về Maven nếu có một cách tương đương, không phải Maven theo các hướng dẫn này với Eclipse.


2
Bạn đã đọc Hướng dẫn bắt đầu của Maven: maven.apache.org/guides/getting-started/index.html
Dan W

4
Tương đương không phải Maven: Tìm tất cả các thư viện mà bạn cần và thêm chúng vào đường dẫn xây dựng dự án của bạn (thư mục lib). "Tất cả các thư viện mà bạn cần" = resteasy-jackson-day-1.1.GA.jar (2.3.0 là phiên bản hiện tại ...) cộng với tất cả các phụ thuộc. "Tất cả phụ thuộc" là những gì Maven làm cho bạn (trong tình huống này). Nhìn lên chúng là jackson-core-asl, jackson-mapper-asl, jackson-jaxrs, jackson-xc. Tìm hiểu một chút Maven, nó hoàn toàn xứng đáng với thời gian.
Hauke ​​Ingmar Schmidt

Bạn sẽ tìm thấy thêm thông tin về Maven trong Maven: Hướng dẫn tham khảo đầy đủ và bạn cũng nên xem xét để cài đặt plugin M2E Eclipse (trước đây gọi là m2eclipse).
matsev

Câu trả lời:


204
  1. Trên thanh menu trên cùng, mở Cửa sổ -> Hiển thị Chế độ xem -> Khác
  2. Trong cửa sổ Hiển thị Chế độ xem, mở Maven -> Kho lưu trữ Maven

    Hiển thị Chế độ xem - Kho lưu trữ Maven

  3. Trong cửa sổ xuất hiện, nhấp chuột phải vào Kho toàn cầu và chọn Đi vào

  4. Nhấp chuột phải vào " trung tâm ( http://repo.maven.apache.org/maven2 ) " và chọn " Rebuild Index "

    • Lưu ý rằng sẽ mất một lúc để hoàn tất tải xuống
  5. Sau khi hoàn thành lập chỉ mục, nhấp chuột phải vào dự án -> Maven -> Thêm phụ thuộc và bắt đầu nhập tên của dự án bạn muốn nhập (chẳng hạn như "ngủ đông").

    • Kết quả tìm kiếm sẽ tự động điền vào ô "Kết quả tìm kiếm" bên dưới.

156
Truyền thuyết có nó, nó vẫn xây dựng lại Index.

25
Lời khuyên: Eclipse (tại phiên bản mới nhất kể từ tháng 5 năm 2016) sẽ khóa lại một cách ngẫu nhiên trong khi xây dựng lại chỉ mục kho lưu trữ Maven trung tâm. Và trạng thái đã bị kẹt ở "0%" trong năm phút. Đừng lập bất kỳ kế hoạch nào.
Saustrup

7
Chết tiệt, tôi nhớ<insert-name-of-previously-considered-to-be-worst-package-manager-ever-here>
Mark K Cowan

12
Tôi đã đủ ngu ngốc để thử và mở thư mục trung tâm ... đừng làm vậy ...
Không được yêu

15
Lưu ý: Nếu đây không phải là một dự án Maven. Trước bước 5, bạn phải bấm chuột phải vào dự án -> configure -> convert thành dự án Maven. Sau đó bước 5 sẽ hoạt động.
vách đá2310

26

Trong thực tế khi bạn mở tệp pom.xml, bạn sẽ thấy 5 tab ở phía dưới. Bấm vào tệp pom.xml và bạn có thể nhập bất kỳ phụ thuộc nào bạn muốn.

nhập mô tả hình ảnh ở đây


đã giúp tôi ra thời gian lớn. đã không nhận thấy 5 tab trước đó
M. Smith

2
Eclipse vẫn không nhận ra các phụ thuộc từ pom.xml của tôi trong mã của tôi. Khi tôi sử dụng IntelliJ, nó sẽ tự động tải xuống và thiết lập chúng để hoàn thành mã, không nhật thực làm điều này?
Cas Eliëns

Nếu bạn đã biết các chi tiết của sự phụ thuộc của bạn (id nhóm, id artifact, phiên bản), thì đây là nhiều nhanh hơn tải về Internet chỉ để bao gồm my-favorite-library.jartrong dự án của bạn.
Christopher Schultz

10

Bạn cần sử dụng một plugin Maven cho Eclipse để thực hiện điều này đúng cách. Các M2E plugin được xây dựng vào phiên bản mới nhất của Eclipse, và thực hiện một phong nha công việc nếu không hoàn hảo tích hợp Maven vào IDE. Bạn sẽ muốn tạo dự án của mình dưới dạng 'Dự án Maven'. Ngoài ra, bạn có thể nhập Maven POM hiện có vào không gian làm việc của mình để tự động tạo dự án. Khi bạn có dự án Maven của mình trong IDE, chỉ cần mở POM và thêm sự phụ thuộc của bạn vào nó.

Bây giờ, nếu bạn không có plugin Maven cho Eclipse, bạn sẽ cần lấy jar (s) cho phần phụ thuộc trong câu hỏi và thêm chúng làm tham chiếu classpath cho dự án của bạn theo cách thủ công. Điều này có thể gây khó chịu vì bạn sẽ không chỉ cần JAR cấp cao nhất, mà còn tất cả các phụ thuộc của nó.

Về cơ bản, tôi khuyên bạn nên có một plugin Maven phong nha cho Eclipse và để nó xử lý việc quản lý phụ thuộc cho bạn.


2
Cảm ơn câu trả lời. Tôi đã có một dự án với 1000 tệp trong đó - có cách nào để thêm hỗ trợ maven, thay vì bắt đầu từ đầu không? Tôi có phiên bản mới nhất của Eclipse
Riley Lark

3
Với phiên bản mới nhất của Eclipse và m2e, bạn có thể nhấp chuột phải vào một dự án Java thông thường và bật Quản lý phụ thuộc cho nó. Điều này sẽ tạo ra một tệp pom.xml cho dự án, trong khi vẫn giữ nguyên cấu trúc của nó.
Nhận thức

7

Mở tệp pom.xml.

bên dưới projectthẻ thêm <dependencies>dưới dạng thẻ khác và google cho các phụ thuộc Maven. Tôi đã sử dụng điều này để tìm kiếm.

Vì vậy, sau khi nhận được sự phụ thuộc, tạo một thẻ khác dependencybên trong <dependencies>thẻ.

Vì vậy, cuối cùng nó sẽ trông giống như thế này.

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>doc-examples</groupId>
  <artifactId>lambda-java-example</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>lambda-java-example</name>
  <dependencies>
      <!-- https://mvnrepository.com/artifact/com.amazonaws/aws-lambda-java-core -->
    <dependency>
        <groupId>com.amazonaws</groupId>
        <artifactId>aws-lambda-java-core</artifactId>
        <version>1.0.0</version>
    </dependency>
  </dependencies>
</project>

Hy vọng nó giúp.


2

Tôi đã đối mặt với vấn đề tương tự và đã khắc phục bằng cách sao chép các tệp Jar bị thiếu vào .M2 Path,

Ví dụ: nếu bạn thấy thông báo lỗi như vậy Missing artifact tws:axis-client:jar:8.7thì bạn phải tải xuống tệp "ax-client-8.7.jar" và dán tương tự vào vị trí bên dưới sẽ giải quyết vấn đề.

C: \ Users \ UsernameXXX.m2 \ repository \ tws \ ax-client \ 8.7 (Dán trục-client-8.7.jar).

cuối cùng, nhấp chuột phải vào dự án-> Maven-> Cập nhật dự án ... Đó là nó.

hạnh phúc mã hóa.


Cảm ơn! Đây không phải là vấn đề cụ thể của tôi nhưng nó đã giúp tôi giải quyết nó. Trong trường hợp của tôi, bình của tôi đã ở đúng vị trí nhưng đường dẫn hơi sai.
Đội trưởng Fantastic

-1

Tôi đã phải đối mặt với cùng một vấn đề với các phụ thuộc maven, ví dụ: không may bị phụ thuộc maven của bạn bị xóa khỏi đường dẫn của bạn, sau đó mọi người sẽ nhận được rất nhiều ngoại lệ, nếu bạn làm theo quy trình dưới đây, bạn có thể dễ dàng giải quyết vấn đề này.

 Nhấp chuột phải vào dự án >> maven >> updateProject >> selectProject >> OK

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.