Thiếu phụ thuộc Maven trong dự án Eclipse


108

Chúng tôi có một dự án được thiết lập với maven để giải quyết sự phụ thuộc. Nó thường hoạt động tốt, nhưng bây giờ tôi đang cố gắng biên dịch và chạy nó trên một PC mới và tôi gặp sự cố với việc thiếu các phụ thuộc trong Eclipse.

Điều buồn cười là nếu tôi chạy "gói mvn" trong bảng điều khiển hoặc trong nhật thực, nó hoạt động tốt và thậm chí tạo ra chiến tranh chứa tất cả các lọ cần thiết. Chỉ Eclipse phàn nàn với "Dự án không được xây dựng vì đường dẫn xây dựng của nó không hoàn chỉnh. Không thể tìm thấy tệp lớp cho org.slf4j.Logger ...". Nếu tôi so sánh dự án với một số máy tính khác (nơi dự án hoạt động tốt), tôi nhận thấy rằng có khá nhiều thư viện bị thiếu trong danh sách "Maven phụ thuộc" trong Eclipse. Mặc dù chúng đang trong cuộc chiến đóng gói và chúng cũng có thể được tìm thấy trong thư mục kho lưu trữ.

Vì vậy, các jar-s ở đó chỉ là Eclipse sẽ không liệt kê tất cả chúng trong "Phụ thuộc Maven". Tôi có thể làm gì?

Máy tính đang chạy trên Windows 7 với java & eclipse 64 bit.


Đó có phải là vấn đề về phạm vi như trong jira.codehaus.org/browse/MNG-2045 không?
VonC

1
Điều này không đáng để đăng câu trả lời, nhưng đối với bất kỳ ai đọc câu trả lời này trong tương lai, có vẻ như bạn cần phải nhập ít nhất ba ký tự không có ký tự đại diện. Ví dụ: gõ "t" hoặc "to" sẽ không hiển thị bất kỳ kết quả nào, nhưng "tom" thì có. Tin hay không tùy bạn, tôi đã dành khoảng một giờ để tìm kiếm những lý do khác nhau trước khi nhận ra điều này.
Chris Neve

Câu trả lời:


117

Vâng, tôi đã thử mọi thứ được đăng ở đây, rất tiếc là không có gì hoạt động trong trường hợp của tôi. Vì vậy, thử các kết hợp khác nhau, tôi đã đưa ra kết hợp này đã giải quyết được vấn đề của tôi.

1) Mở tệp .classpath ở gốc của dự án nhật thực của bạn.

2) Chèn mục nhập sau vào tệp:

<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
        <attributes>
            <attribute name="maven.pomderived" value="true"/>
            <attribute name="org.eclipse.jst.component.nondependency" value=""/>
        </attributes>
</classpathentry> 

Sau đó, xây dựng lại dự án của bạn tại eclipse (Project-> Clean-Build). Bây giờ bạn có thể kiểm tra dự án Đường dẫn xây dựng Java của bạn tại tab Thư viện, bao gồm Phụ thuộc Maven: nhập mô tả hình ảnh ở đây


3
Đây là điều đầu tiên mọi người nên thử. Mở tệp .classpath sẽ có trong thư mục dự án của bạn bằng notepad và thêm các dòng được đề cập và làm mới dự án của bạn.
Amit Kumar

9
Điều này đã làm việc mà mọi thứ khác đều thất bại. Nhưng tôi có phải làm điều này cho mọi dự án tôi tạo không? Tại sao nó không hoạt động tự động? Vấn đề thực sự là gì?
yeaaaahhhh..hamf hamf

Haizz, cái này vẫn bị hỏng trong m2e 1.6.2.20150902-002. Đã thử nghiệm với bản cài đặt Eclipse vani mới trên Mac OS X / JDK 1.8. Eclipse IDE dành cho nhà phát triển Java Phiên bản: Mars.2 Release (4.5.2) Id bản dựng: 20160218-0600 Tôi tự hỏi liệu plugin này có yêu cầu Eclipse Java EE hoạt động bình thường không?
Mat Gessel

1
câu trả lời này phải là câu trả lời đầu tiên. Người duy nhất hoạt động ;-) thx
Manuel Manhart

1
Ma thuật! vẫn hợp lệ cho Eclipse 4.4.2
phiên bản

89

Vấn đề đã được giải quyết!

Tôi không biết chính xác điều gì đã giải quyết nó, nhưng tôi đã làm 4 điều trong Eclipse:

  • Window-> Preferences: Maven-> Installations: Global settings -> open file and hardcoded localRepository
  • Dự án-> Sạch sẽ
  • nhấp chuột phải vào dự án: Maven-> Cập nhật các phụ thuộc
  • nhấp chuột phải vào dự án: Maven-> Cập nhật cấu hình dự án

Tôi đoán đó là các phụ thuộc Cập nhật vì ngay sau hai lần đầu tiên không có thay đổi.


2
Tôi biết "Project-> Clean" và tôi đã thử nó, nhưng nó không giúp được gì lúc đầu.
hostnik

7
Đó là điểm cuối cùng. Cập nhật cấu hình dự án sẽ thêm thư viện "Maven Dependencies" vào dự án của bạn.
Eduard Wirch

2
FYI, trước tiên tôi phải nhấp chuột phải vào dự án của mình, đi tới Cấu hình và "Chuyển đổi sang dự án Maven."
duma

2
Mở rộng về câu trả lời của Eduard Wirch, tôi cũng phải kiểm tra hộp "Buộc cập nhật ảnh chụp nhanh / bản phát hành" được tìm thấy tại cửa sổ Maven-> Update Project .... Tạo tác bị mất của tôi là một Ảnh chụp nhanh và bằng cách nào đó không cập nhật tốt nếu không ép buộc.
evaldeslacasa

1
Tôi đã phải thay đổi Cài đặt người dùng 'settings.xml' thành cài đặt trong thư mục '.m2' của tôi. Trước đây nó đã được đặt thành một trong trình cài đặt Maven.
Jack Straw

34

Tôi cũng là người mới sử dụng Eclipse và tôi đã gặp sự cố tương tự trong đó Eclipse không nhận ra câu lệnh nhập, mặc dù tất cả các dấu hiệu chỉ ra phần phụ thuộc đã được tải xuống thành công.

Bạn nên kiểm tra xem tệp phụ thuộc của mình đã thực sự được tải xuống chưa bằng cách chuyển đến dòng lệnh và nhập

mvn dependency:tree

Nếu bạn thấy gói của mình ở đó, nhưng Eclipse không thừa nhận nó, thì điều hiệu quả đối với tôi (đôi khi) là đi đến thiết bị đầu cuối, cd vào thư mục dự án và nhập

mvn eclipse:clean sau đó mvn eclipse:eclipse

Cuối cùng làm mới dự án trong nhật thực

Tôi không biết tại sao điều này lại hoạt động, và đôi khi nó không hoạt động một lần, sau đó làm lại nó lại có hiệu quả ... rất đáng thử!


Điều này đã chỉ cho tôi đúng hướng bằng cách cho tôi thấy rằng có vấn đề với tệp settings.xml của tôi! Cảm ơn bạn, @rogueleaderr!
slp

vâng, nó có tác dụng với bạn tôi, giải quyết mọi vấn đề và đau đầu của cô ấy. Thật không may đã không làm việc cho tôi.
Zack Zilic

Nó cũng làm việc cho tôi nhưng ai đó có thể giải thích những gì đã xảy ra đằng sau hậu trường ??
YouAreAwesome, 20-07-19

31

Dự án của tôi vừa mới bị hỏng. Đây là cách tôi sửa lỗi cho Eclipse Indigo x64 (J2EE 3.7.3):

  1. Đã xóa tệp POM của tôi (tất nhiên là đã sao lưu).
  2. Trình đơn ngữ cảnh dự án > Maven > Tắt tính năng Maven .
  3. Đã xóa dự án (nhưng không xóa nội dung trên đĩa).
  4. Đã nhập lại dưới dạng Nhập > Chung > Dự án hiện có .
  5. Menu Project Context > Configure > Convert to dự án Maven ... .
  6. Chấp nhận mặc định từ trình hướng dẫn Maven.
  7. Ghi đè POM bằng POM đã sao lưu của bạn. (Bây giờ bạn có thư mục Maven Dependencies ).
  8. Cập nhật / Làm sạch Maven để có biện pháp tốt.

Hy vọng rằng sẽ giúp một ai đó. :)


Điều này giúp tôi! Tôi không biết có chuyện gì xảy ra, nhưng tôi đang sử dụng Juno / Springsource 3 64-bit và nó luôn không thể nhập chính xác các dự án Maven của tôi. Nếu tôi kiểm tra như một dự án thông thường, hãy đổi tên POM của tôi, sau đó làm theo hướng dẫn của bạn từ bước 5 trở đi, nó hoạt động. Nếu không, không có gì tôi thử sẽ làm cho các phụ thuộc Maven được thêm vào dự án của tôi ngoài dòng lệnh mvn eclipse:eclipse, điều này thật tồi tệ.
ngreen

Tôi đã làm điều này nhưng tôi vẫn chưa có thư mục phụ thuộc maven. Dưới đây là tập tin pom.xml của tôi và tôi nghĩ rằng đó là lý do tại sao tôi có vấn đề 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>antlr.tuto.calco</groupId> <artifactId>CalculatriceAntlr</artifactId> <version>0.0.1-SNAPSHOT</version> </project>
Anatch

Tôi thực sự không biết vấn đề là ở đâu nhưng tôi đã làm theo các bước trên và nó hoạt động rất tốt. Nó gây ra lỗi như không tìm thấy lớp, không tìm thấy xml dtd. Nhưng bây giờ nó đã được giải quyết. Cảm ơn cậu. Ủng hộ.
Sagar007

29

Tôi gặp sự cố này đối với các phần phụ thuộc được tạo trong các dự án khác. Các phần phụ thuộc của bên thứ ba đã tải xuống hiển thị tốt trong đường dẫn xây dựng, nhưng không phải là thư viện mà tôi đã tạo.

SOLUTION: Trong dự án không được xây dựng đúng cách,

  • Bấm chuột phải vào dự án và chọn Thuộc tính, rồi chọn Maven.

  • Bỏ chọn hộp có nhãn " Giải quyết sự phụ thuộc từ các dự án Không gian làm việc "

  • Nhấn Áp dụng, sau đó nhấn OK.

  • Nhấp chuột phải một lần nữa vào dự án của bạn và thực hiện Maven-> Cập nhật Ảnh chụp nhanh (hoặc Cập nhật Phụ thuộc)

Và lỗi của bạn sẽ biến mất khi dự án của bạn xây dựng lại (tự động nếu bạn đã bật tính năng tự động tạo).


Cảm ơn, điều đó đã giải quyết vấn đề của tôi. Có vẻ như đây là một lỗi Eclipse.
Scott McIntyre

1
Này, không có cái gọi là Maven-> Cập nhật Ảnh chụp nhanh (hoặc Cập nhật Phụ thuộc). Nếu tôi nhấp chuột phải, không có tùy chọn Maven? Những gì bạn mô tả nằm ở đâu? Tôi đang tìm kiếm nhưng không thể tìm thấy mô tả sau khi bạn nhấn Áp dụng
DarioBB

1
@DarioBB Câu trả lời này đã gần 5 năm tuổi. Tôi đã không làm việc trong Eclipse trong hơn một năm. Tôi không biết liệu tùy chọn này có còn khả dụng hay không. Tôi có thể không ở trong phiên bản gần đây nhất.
IceBox 13

1
Giải pháp này đã làm việc cho tôi trong đèn neon Eclipse. Do Maven> Cập nhật dự án (không phải Cập nhật ảnh chụp nhanh) sau đó.
Ivana

9

Vâng, tôi đã thử mọi thứ được đăng ở đây, rất tiếc là không có gì hoạt động trong trường hợp của tôi. Vì vậy, thử các kết hợp khác nhau, tôi đã đưa ra kết hợp này đã giải quyết được vấn đề của tôi.

1) Mở tệp .classpath ở gốc của dự án nhật thực của bạn.

2) Chèn mục nhập sau vào tệp:

<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
        <attributes>
            <attribute name="maven.pomderived" value="true"/>
            <attribute name="org.eclipse.jst.component.nondependency" value=""/>
        </attributes>
</classpathentry> 

Sau đó, xây dựng lại dự án của bạn tại eclipse (Project-> Clean-Build).


Cảm ơn! giải pháp này phù hợp nhất với tôi, chỉ cần một lần chỉnh sửa khó khăn, tôi phải đóng và mở lại dự án.
Tarun Gupta

Tuyệt vời. Cái này cũng có tác dụng với tôi. Trong dự án của tôi, tôi không thể thấy các phụ thuộc maven. Bây giờ có thể nhìn thấy và cũng được thêm vào đường dẫn xây dựng. Cảm ơn!
Tahir Mehmood

7

Chỉ trong trường hợp ai đó đã thử tất cả các tùy chọn khác mà bạn vẫn gặp khó khăn, hãy thử nhấp chuột phải vào thư mục dự án, chuyển đến tùy chọn Maven và nhấp vào nút "thêm phụ thuộc". Vì lý do nào đó, Eclipse không cập nhật các phần phụ thuộc theo cách thủ công từ pom.xml lúc đầu hãy thử.

ảnh chụp màn hình lựa chọn menu


5

Tôi đã có một vấn đề tương tự. Tôi giải quyết nó bằng cách chạy Maven-> Cập nhật Cấu hình dự án hành động


5

Đối với tôi, vấn đề là maven không thể tìm thấy tệp settings.xml nằm trong myMavenFolder \ conf .

Những gì tôi đã làm để khắc phục sự cố là chọn đúng vị trí của tệp settings.xml từ eclipse:
Window -> Preferences -> Maven -> User Settings

Cuối cùng, nhấn áp dụng và cập nhật dự án của bạn


4

Vì vậy, tôi đã trễ khoảng 4 hoặc 5 năm đến bên này, nhưng tôi đã gặp sự cố này sau khi lấy từ kho của chúng tôi và không có giải pháp nào khác từ chuỗi này hoạt động trong trường hợp của tôi để loại bỏ các cảnh báo / lỗi này.

Điều này đã làm việc cho tôi:

Từ Eclipse, chuyển đến Window -> Preferences -> Maven (mở rộng) -> Errors / Warnings. Tùy chọn cuối cùng có nội dung "Thực thi plugin không nằm trong cấu hình vòng đời" - sử dụng menu thả xuống cho tùy chọn này và chuyển đổi "Bỏ qua", sau đó Áp dụng, rồi OK. (Tại dấu nhắc "Yêu cầu cập nhật Dự án Maven" nói OK).

Thêm thông tin:

Điều này có thể không nhất thiết phải "khắc phục" (các) vấn đề cơ bản và có thể không đủ điều kiện là "phương pháp hay nhất" đối với một số người, tuy nhiên, nó sẽ loại bỏ / ngăn những cảnh báo này xuất hiện trong Eclipse và ít nhất là cho phép bạn tiến lên phía trước. Cụ thể - tôi đang làm việc với Eclipse Luna Service Release 1 (4.4.1) w / Spring Dashboard & Spring IDE Core (3.6.3) và m2e (1.5) được cài đặt, chạy trên Arch Linux và OpenJDK 1.7. Tôi đã nhập dự án của mình dưới dạng một dự án maven hiện có và chọn OK khi được cảnh báo về các cảnh báo / lỗi hiện có (để giải quyết chúng sau này).

Cảnh báo loại bỏ / loại bỏ "Thực thi plugin không được đề cập ..." trên Eclipse-Maven

(Xin lỗi, tôi không phải là nhà thiết kế, nhưng đã thêm hình ảnh cho rõ ràng.)


4

Đối với các bước sau đã hoạt động trong trường hợp của tôi:

1 Trên nhật thực, nhấp chuột phải vào dự án mong muốn Maven -> Tắt Maven Nature

2 Nhấp chuột phải một lần nữa rồi vào Thuộc tính . Xóa mọi bằng chứng về sự phụ thuộc Maven bên ngoài chỉ để lại Thư viện Hệ thống JRE.

3 Nhấp chuột phải một lần nữa vào dự án, sau đó đi tới Cấu hình -> Chuyển đổi thành Dự án Maven


3

Không có giải pháp nào ở trên phù hợp với tôi, vì vậy câu trả lời này dành cho bất kỳ ai khác trong tình huống của tôi. Cuối cùng tôi đã tự mình tìm ra vấn đề và một giải pháp khác. Tệp pom.xml chứa một thẻ dependencyManagement bao bọc các phần phụ thuộc và M2Eclipse sẽ không thêm thư mục Maven Dependencies khi nó xuất hiện. Vì vậy, tôi đã xóa thẻ này, sau đó thực hiện giải pháp do Ualter Jr. đưa ra và Eclipse ngay lập tức thêm thư mục bị thiếu!


3

Đây là các bước mà tôi đã làm theo.
1. Đã xóa dự án maven khỏi nhật thực.
2. Đã xóa tất cả tệp (.setting / .classpath / target) không phải src và pom khỏi thư mục nguồn của tôi.
3. nhập lại như một dự án maven
4. xây dựng lại nó, bạn sẽ có thể thấy các phụ thuộc maven.


2

Câu trả lời của tôi tương tự như câu trả lời của @JerylCook: tìm một .classpathtệp khác trong một dự án Maven đang hoạt động, chỉnh sửa tệp xấu của bạn thành tệp hoạt động tốt. Điều quan trọng là thêm

<attributes>
    <attribute name="maven.pomderived" value="true"/>
</attributes>

ở mọi <classpathentry>loại consrc. Đừng quên thay đổi <classpathentry .... />thành <classpathentry ...>xxx</classpathentry>.

Cuối cùng, hãy cập nhật dự án maven và cài đặt lại / xây dựng lại trong maven.


Điều này đã làm điều đó cho tôi. Cảm ơn.
NuCradle

1

Nếu bạn gặp lỗi "đường dẫn lồng nhau" sau khi thực hiện Maven -> Cập nhật cấu hình dự án (hoặc trong Juno là "Cập nhật cấu hình ...") thì đường dẫn xây dựng của bạn bị định cấu hình sai.

Nhấp chuột phải vào dự án -> Đường dẫn xây dựng -> Định cấu hình Đường dẫn xây dựng

Đảm bảo rằng chỉ '/ src' và các thư mục ở cấp đó được bao gồm. Nếu bạn có ví dụ: '/ src' và cả '/ src / main / resources', điều này không chính xác. Tài nguyên thứ hai ('/ src / main / resources') được "lồng" bên dưới ('/ src') đầu tiên, điều này khiến bạn không thể nhập tài nguyên, vì nó ngăn eclipse nhìn thấy các phụ thuộc maven.


1

Vấn đề của tôi nghe có vẻ tương tự vì vậy tôi sẽ thêm vào cuộc thảo luận. Tôi đã hủy việc nhập một dự án maven hiện có vào Eclipse, dẫn đến việc nó không được phép Cập nhật và sẽ không hoàn thành việc xây dựng Work Space.

Những gì tôi phải làm để giải quyết nó là chọn Run As... -> Maven build...và trong Mục tiêu, tôi đã nhập dependency:go-offlinevà chạy nó.

Sau đó, tôi nhấp chuột phải vào dự án và chọn Maven -> Update Project...và cập nhật dự án cụ thể đó.

Điều này cuối cùng đã cho phép nó tạo các thư mục nguồn và kết thúc quá trình nhập.


1

Tôi có thể giải quyết lỗi bằng cách 1) Nhấp chuột phải (dự án maven của bạn) -> maven -> cài đặt maven

Sau khi cài đặt thành công

2) Nhấp chuột phải (dự án maven của bạn) -> maven -> cập nhật dự án. Và toàn bộ lỗi của maven đã được giải quyết!


1

Đối với tôi, chỉ cần thêm một buildCommand (org.eclipse.m2e.core.maven2Builder) và một bản chất (org.eclipse.m2e.core.maven2Nature) trong tệp .project, như sau:

<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
    <name>iText</name>
    <comment></comment>
    <projects>
    </projects>
    <buildSpec>
        <buildCommand>
            <name>org.eclipse.jdt.core.javabuilder</name>
            <arguments>
            </arguments>
        </buildCommand>
        <buildCommand>
            <name>org.eclipse.m2e.core.maven2Builder</name>
            <arguments>
            </arguments>
        </buildCommand>
    </buildSpec>
    <natures>
        <nature>org.eclipse.jdt.core.javanature</nature>
        <nature>org.eclipse.m2e.core.maven2Nature</nature>
    </natures>
</projectDescription>

và tôi đã có nhập mô tả hình ảnh ở đây


1

Đây là cách tôi đã giải quyết nó

  • Window-> Preferences: Maven-> User Settings (Nhấp vào "mở tệp" trong cửa sổ hiện ra hoặc chỉ chỉnh sửa settings.xml bằng trình soạn thảo văn bản bên ngoài như Notepad) Đảm bảo localRepository (được hiển thị trong cửa sổ này) là chính xác. Tôi có một lỗi đánh máy trong hồ sơ của mình.
  • Khi bạn đã sửa xong settings.xml, hãy nhấp vào Cập nhật Cài đặt, trên cùng màn hình Tùy chọn-> Maven-> Cài đặt người dùng này.

Bây giờ xây dựng lại và nó sẽ cài đặt JAR mới nhất vào đúng vị trí.


1

Tôi đã gặp vấn đề tương tự và đã thử tất cả các câu trả lời trong bài đăng này. Cách gần nhất mà tôi đã giải quyết được vấn đề này là bằng cách kết hợp các giải pháp Joseph Lust và Paul Crease. Tôi đã thêm tệp pom.xml đã sao lưu sau khi xóa và nhập lại dự án và không có gì hiển thị cho đến khi tôi xóa thẻ quản lý phụ thuộc trong pom.xml và thật kỳ diệu là thư mục phụ thuộc đã ở đó.

Tuy nhiên, nó đã phá vỡ POM con vì chúng cần quản lý phụ thuộc pom.xml mẹ để hoạt động và kết quả là MVN của tôi không hoạt động bình thường trên dự án từ Eclipse hoặc dòng lệnh, gây ra lỗi pom.xml bị hỏng.

Giải pháp cuối cùng nếu tất cả đều thất bại, là nhập thủ công các tệp .jar mà dự án của bạn cần. Nhấp chuột phải vào Thuộc tính của dự án -> Đường dẫn Xây dựng Java -> Thư viện và Thêm Jar bên ngoài.

Nếu MVN của bạn đang hoạt động chính xác từ dòng lệnh và bạn đã thực hiện xây dựng thành công dự án, bạn sẽ có tất cả kho lưu trữ cần thiết trong thư mục .m2 / repository của mình. Thêm tất cả các lọ bên ngoài được đề cập trong thẻ phụ thuộc của pom.xml và bạn sẽ thấy phần thư viện được tham chiếu trong Eclipse của mình, với tất cả các lỗi màu đỏ khó chịu đã biến mất.

Đây không phải là giải pháp tối ưu, nhưng nó sẽ cho phép bạn làm việc trong Eclipse mà không gặp bất kỳ lỗi thiếu phụ thuộc nào và cũng cho phép bạn xây dựng dự án Maven cả từ Eclipse và dòng lệnh.


1

Vấn đề tương tự này đã xảy ra với tôi và đó là do có lỗi khi tải xuống một jar do sự cố repo, được biểu thị bằng một lá cờ đỏ trong pom.xml.

Tôi đã thêm một kho lưu trữ khác để cờ đỏ trong pom.xmlbiến mất và Eclipse sau đó tải lại pom, giải quyết vấn đề của nó và liệt kê các phụ thuộc maven trong Project Explorer. nghe có vẻ đơn giản và rõ ràng để giải quyết các vấn đề có thể nhìn thấy, nhưng vì Eclipse khá vui khi chạy maven và xây dựng thành công, nên không rõ ràng rằng vấn đề cờ đỏ và repo là gốc rễ của việc nó không muốn phân tích cú pháp pom và liệt kê maven sự phụ thuộc



1

cập nhật .classpath xuống bên dưới sẽ hoạt động mọi lúc.

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" output="target/classes" path="src/main/java">
        <attributes>
            <attribute name="optional" value="true"/>
            <attribute name="maven.pomderived" value="true"/>
        </attributes>
    </classpathentry>
    <classpathentry kind="src" output="target/test-classes" path="src/test/java">
        <attributes>
            <attribute name="optional" value="true"/>
            <attribute name="maven.pomderived" value="true"/>
        </attributes>
    </classpathentry>
    <classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources">
        <attributes>
            <attribute name="maven.pomderived" value="true"/>
        </attributes>
    </classpathentry>
    <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
        <attributes>
            <attribute name="maven.pomderived" value="true"/>
        </attributes>
    </classpathentry>
    <classpathentry excluding="WEB-INF/" kind="src" path="src/main/webapp"/>
    <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
        <attributes>
            <attribute name="maven.pomderived" value="true"/>
            <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
        </attributes>
    </classpathentry>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
    <classpathentry kind="output" path="target/classes"/>
</classpath>

1

Maven Dependencies: Điều gì đã giải quyết nó cho tôi trong Eclipse? Tôi đã thêm phần phụ thuộc vào tệp "pom". Tôi đã xây dựng, nhưng không thể thấy Sự phụ thuộc của Maven trong Eclipse. Bước tiếp theo: Đóng dự án. Sau đó Mở lại dự án. Tôi có thể thấy sự phụ thuộc của Maven.


1

Tôi gặp lỗi này khi có lỗi trong Pom.

  1. Chạy lệnh mvn eclipse: eclipse trên bảng điều khiển để kiểm tra xem pom có ​​thể phân tích cú pháp hay không.
  2. Nếu không thể phân tích cú pháp tìm kiếm lỗi.

Tôi đang chạy dưới cygwin, tôi nhận thấy rằng chỉ có dự án này không được xây dựng theo nhật thực, mặc dù tôi đã xây dựng thành công (với mvn) trên dòng lệnh. Sau khi chạy mvn eclipse:eclipsetất cả các phụ thuộc đã được thêm vào classpath trong dự án eclipse và dự án trông ổn. ++
Bill Naylor

0

Thật tuyệt vời khi một vấn đề này có rất nhiều nguyên nhân khác nhau và các giải pháp khả thi. Tôi đã tìm thấy một giải pháp khác phù hợp với tôi.

Chà, đó không phải là một giải pháp mà là một khám phá: Tôi có thể thấy nút Maven Dependencies trong Package Explorer, là nút mặc định cho phối cảnh Java, nhưng tôi không thể thấy nó trong phối cảnh Java EE, sử dụng Project Explorer theo mặc định. Cả hai trình khám phá đó đều trông rất giống nhau khi nhìn lướt qua, vì vậy bạn có thể mong đợi thấy Sự phụ thuộc của Maven trong cả hai.

Khi tôi đang cố gắng tìm ra điều này, tôi đã không nhận ra sự khác biệt đó, vì vậy nó thực sự không phải là vấn đề đối với tôi cuối cùng.


0

toàn bộ dự án trông kỳ lạ trong eclipse, thư mục phụ thuộc maven bị thiếu, nó hiển thị một số loại là không xác định, nhưng tôi đã có thể xây dựng nó thành công trong maven. Điều đã khắc phục sự cố của tôi là thêm thư mục gen vào đường dẫn nguồn trên đường dẫn xây dựng dự án.

Có thể điều này tương tự như Android / FBReaderJ / gen này đã tồn tại nhưng không phải là một thư mục nguồn. Chuyển đổi sang một thư mục nguồn hoặc đổi tên nó


0

Trong Eclipse STS nếu "Maven Dependencies" biến mất nó, bạn phải kiểm tra và sửa chữa pom.xml. Tôi đã làm điều này (hai lần) và tôi đã giải quyết nó. Đó không phải là vấn đề phụ thuộc mà là một Chuỗi được tạo và di chuyển đến một vị trí ngẫu nhiên trong của tôi pom.xml.


0

Tất cả ở trên đã không làm việc với tôi. Đối với bản sửa lỗi chỉ là xóa thư mục kho lưu trữ dưới .m2 và sau đó thực hiện cập nhật maven từ eclipse.


0

Rất nhiều câu trả lời. Bạn thấy đấy, có thể có nhiều lý do, tại sao điều này không hoạt động, như mong đợi. Trong trường hợp của tôi, tôi cũng không nhận ra - Thẻ xung quanh các phụ thuộc của tôi. facepalm

Thí dụ:

...
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>${org.slf4j.version}</version>
        </dependency>
    </dependencies>
</dependencyManagement>

điều này chỉ ĐỊNH NGHĨA sự phụ thuộc cho điều này và tất cả các tiểu dự án với phiên bản mong muốn! Đây là, nó sẽ trông như thế nào trong master-POM. Để thực sự sử dụng lib trong dự án hiện tại NÀY, bạn cũng phải thêm độ sâu như sau:

...
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>${org.slf4j.version}</version>
        </dependency>
    </dependencies>
</dependencyManagement>

<dependencies>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
    </dependency>
</dependencies>

BÂY GIỜ nó sẽ cung cấp lib trong dự án hiện tại NÀY.

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.