2010-05-19 36 views
17

Tôi vừa chia nhỏ tệp cấu hình bean Spring thành các tệp nhỏ hơn bên ngoài và đã sử dụng chỉ thị "nhập" để đưa chúng vào tệp XML ngữ cảnh ứng dụng Spring Test của tôi.Cảnh báo 'không tìm thấy bean' của Spring/Eclipse 'khi sử dụng <import>?

Nhưng bất cứ khi nào tôi tham khảo một trong những hạt cà phê từ các tập tin nhập khẩu tôi nhận được một cảnh báo trong Eclipse/STS/biên tập XML Xuân phàn nàn rằng "đậu tham chiếu 'foo' không tìm thấy"

Liệu đây là lỗi hay là là tôi? Nó thực sự gây phiền nhiễu vì tôi không muốn vô hiệu hóa cảnh báo, nhưng tại công ty của tôi, chúng tôi cố gắng loại bỏ tất cả các cảnh báo.

Trả lời

23

Nó thực sự làm tôi khó chịu!

Tôi không chắc khi nào tính năng này được giới thiệu, nhưng với các phiên bản sau có thể thêm hỗ trợ này.

  1. Nhấp chuột phải vào dự án của bạn trong giao diện mùa xuân explorer
  2. Bấm vào thuộc tính
  3. Xem hình ảnh dưới đây:

alt text

Tôi không hiểu tại sao nó không được kiểm tra bởi mặc định, nhưng nó hoạt động như một nét duyên dáng sau khi bạn đã kích hoạt nó!

Nếu bạn không có tùy chọn này với phiên bản của mình, tôi sẽ đặc biệt khuyên bạn nên tải xuống STS của SpringSource với tất cả các gói Eclipse cần thiết đi kèm.

+1

Cách tiếp cận thứ hai của vonc làm việc. Tôi tin rằng đây là cách đơn giản và phù hợp hơn để thực hiện việc này. Cảm ơn! – HDave

+0

Đối với hàng nhập khẩu, phương pháp này là tốt. Để chỉ phân vùng cấu hình (ví dụ: bảo mật trong một tệp và ACL bảo mật trong một tệp khác), phương thức thiết lập cấu hình của VonC hoạt động. –

+0

Giải pháp này dường như không hoạt động khi bean được tham chiếu nằm trong một dự án đồng hành trong Eclipse. Đã cố gắng thêm chúng dưới dạng tập cấu hình nhưng không có niềm vui – Marc

2

1) Bạn nên cố gắng loại bỏ tất cả cảnh báo, nhưng đừng hy vọng thành công. 10 cảnh báo cho mỗi dự án là ok, 500 thì không.

2) nói rằng, đó không phải lỗi của bạn, đó là một tính năng bị thiếu cố ý từ STS. cố ý, bởi vì họ không có cách nào để biết classpath thời gian chạy của bạn sẽ là gì. Tất nhiên họ có thể giải quyết một số báo cáo nhập, nhưng đó sẽ là hành vi không nhất quán. trong ngắn hạn, tôi đã học được cách sống chung với cảnh báo này

6

Theo this thread, đây có thể tương tự như:

Tôi có một (phải thừa nhận là mỹ phẩm) vấn đề với các plugin Xuân IDE cho Eclipse mà tôi đã không thể giải quyết được. Tôi có một tình huống trong đó bối cảnh các tệp A và B đều được nhập theo ngữ cảnh C. B sử dụng một số hạt được xác định trong A, nhưng vì chúng không bao giờ được sử dụng độc lập (chỉ bằng C), đây không phải là vấn đề. Tuy nhiên, trình xác nhận plugin Spring IDE đánh dấu tất cả các tham chiếu đến các bean trong A trong tệp B ngữ cảnh dưới dạng lỗi, nói một cái gì đó như "Bean được tham chiếu 'foo' không tìm thấy bar.xml". Rõ ràng đây là một tuyên bố chính xác, nhưng trong trường hợp sử dụng của tôi nó không phải là một lỗi.

có hai cách giải quyết vấn đề này:

  1. Chỉ cấu hình bối cảnh C với Spring IDE và để cho các file khác (A. B) xử lý bởi sự hỗ trợ nhập khẩu. Làm như vậy sẽ không tạo cảnh báo. Đảm bảo rằng bạn không thêm A và B dưới dạng tệp cấu hình vào Spring IDE vì chúng cũng sẽ được xác thực độc lập gây ra lỗi xác thực mà bạn đang thấy.
  2. Định cấu hình tập cấu hình cho A, B và C và không bật chế độ nhập cho dự án.
+2

Tôi đã sử dụng tùy chọn # 2 và nó hoạt động như một sự quyến rũ! Tôi luôn tự hỏi giá trị của các tập cấu hình nằm trong một dự án Eclipse/Spring. Bây giờ tôi biết! Cảm ơn một tấn. – HDave

+0

Yup, tùy chọn # 2 sẽ xử lý các cảnh báo xác nhận. Không có nhập khẩu nào liên quan. –

+0

Tùy chọn 2 cũng làm việc cho tôi. thanks :) –

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