Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

grails-core: package grails-context.xsd in the jar so <grails:component-scan> can be schema-validated

Đang mở Phù hợp với người mới
#16,635 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

@hk2166 đang làm issue này rồi.

Từ ngày 17/10/2026.

  • #16687 của @hk2166 — đang mở

Đánh giá

Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
74/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
groovy
Lĩnh vực
build-system

Hướng nghiên cứu

Bắt đầu với XSD tại grails-core/src/main/groovy/org/grails/spring/context/annotation/grails-context.xsd và ánh xạ trong META-INF/spring.schemas, sau đó kiểm tra cấu hình processResources của bản build grails-core. Build jar và xác nhận XSD nằm cạnh spring.schemas. Hoàn thành khi jar chứa schema và một spec phân tích grails:component-scan có thể kiểm tra hợp lệ với schema khi bật schema validation.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

META-INF/spring.schemas maps http://grails.org/schema/context/grails-context.xsd to org/grails/spring/context/annotation/grails-context.xsd, but that file lives under grails-core/src/main/groovy, which the build does not treat as a resource directory.

The XSD is therefore missing from the published grails-core jar (checked grails-core-8.1.0-SNAPSHOT.jar: only spring.schemas is there). An XSD-validating parse of <grails:component-scan> cannot resolve its schema locally and Xerces falls back to fetching http://grails.org/schema/context/grails-context.xsd over the network.

The same is true on 8.0.x and 9.0.x, so this is not caused by the Java-to-Groovy conversion.

Packaging the XSD, for example with

processResources {
    from('src/main/groovy') { include '**/*.xsd' }
}

fixes it. Specs that parse <grails:component-scan> could then turn schema validation back on.

Found in review of #16586.

Ngôn ngữ chính
Groovy
Star
2.9k
Fork
979
Merge trung bình
1 ngày 11 giờ
Pull request đã merge (30 ngày)
196

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của apache/grails-core

Tất cả issue của apache/grails-core

Issue tương tự

Thêm issue về Build System

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.