Chỉ cần làm rõ về câu trả lời của Raul - tốt mà nó làm việc cho bạn, nhưng cung cấp là phụ thuộc mà dự kiến sẽ có sẵn từ JRE/JDK, tức là lớp servlet. Biên dịch là mặc định và nên hoạt động trong các trường hợp của người khác, vì gson không có sẵn từ một JRE, thay vào đó nó cần được tải xuống bởi maven. Từ http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Dependency_Scope:
biên dịch Đây là phạm vi mặc định, được sử dụng nếu không có quy định nào được chỉ định. Các phụ thuộc biên dịch có sẵn trong tất cả các classpath của một dự án. Hơn nữa, những phụ thuộc đó được truyền cho các dự án phụ thuộc.
cung cấp Điều này giống như biên dịch, nhưng cho biết bạn mong đợi JDK hoặc vùng chứa cung cấp sự phụ thuộc trong thời gian chạy. Ví dụ, khi xây dựng một ứng dụng web cho Java Enterprise Edition, bạn sẽ thiết lập sự phụ thuộc vào API Servlet và các API Java EE có liên quan đến phạm vi được cung cấp bởi vì thùng chứa web cung cấp các lớp đó. Phạm vi này chỉ có sẵn trên đường dẫn biên dịch và kiểm tra, và không phải là transitive.
thời gian chạy Phạm vi này cho biết rằng không cần phải phụ thuộc để biên soạn, mà là để thực thi. Đó là trong thời gian chạy và kiểm tra classpaths, nhưng không phải là classpath biên dịch.
kiểm tra Phạm vi này chỉ ra rằng phụ thuộc không cần thiết cho việc sử dụng thông thường của ứng dụng và chỉ có sẵn cho giai đoạn biên dịch và thực thi thử nghiệm.
hệ thống Phạm vi này tương tự như được cung cấp ngoại trừ việc bạn phải cung cấp JAR chứa nó một cách rõ ràng. Tạo phẩm luôn luôn có sẵn và không được tra cứu trong kho lưu trữ.
nhập (chỉ có trong Maven 2.0.9 hoặc mới hơn) Phạm vi này chỉ được sử dụng trên phụ thuộc loại pom trong phần. Nó chỉ ra rằng POM được chỉ định nên được thay thế bằng các phụ thuộc trong phần của POM. Vì chúng được thay thế, các phụ thuộc với một phạm vi nhập khẩu không thực sự tham gia vào việc hạn chế sự chuyển đổi của sự phụ thuộc.
khai báo phụ thuộc maven của bạn là gì? –
bạn đang sử dụng công cụ gì để xây dựng dự án của mình? Và xin vui lòng gửi cấu hình phụ thuộc của bạn – Dave
nó có thể truy cập, hãy cố gắng cập nhật phụ thuộc maven, nếu nó không hoạt động, hãy thử để loại bỏ các gói từ kho lưu trữ maven địa phương của bạn và buộc nó để tải về một lần nữa. Hãy thử nó với một phiên bản mới có thể làm việc quá. –