2012-11-18 51 views
18
<?xml version="1.0" encoding="UTF-8"?> 

<web-app version="2.5" 
    xmlns="http://java.sun.com/xml/ns/j2ee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_5.xsd"> 

Tệp được tham chiếu chứa lỗi (http://java.sun.com/xml/ns/j2ee/web-app_2_5.xsd). Để biết thêm thông tin, hãy nhấp chuột phải vào thư trong Chế độ xem sự cố và chọn "Hiển thị chi tiết ..."Lỗi web.xml này có nghĩa là gì?

Các lỗi dưới đây được phát hiện khi xác thực tệp "web-app_2_5.xsd" qua tệp "web. xml ". Trong hầu hết các trường hợp, các lỗi này có thể được phát hiện bằng cách xác thực trực tiếp "web-app_2_5.xsd". Tuy nhiên, có thể các lỗi sẽ chỉ xảy ra khi web-app_2_5.xsd được xác thực trong ngữ cảnh của web.xml.

Cụ thể, tôi thấy một bó của những:

S4S-ELT ký tự: ký tự không khoảng trắng không được phép vào các yếu tố schema khác hơn là xs: appinfo và xs: tài liệu hướng dẫn. Đã thấy 'var _U = "undefined";'

Trả lời

49

Nếu bạn thay thế j2ee bởi javaee, nó sẽ hoạt động tốt.

EDIT:

<web-app version="2.5" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> 

Edit:

Để biết gì hơn nữa liên quan đến lỗi này. Vui lòng theo dõi Link. Ở đây bạn sẽ tìm thấy các lược đồ cho các bộ mô tả triển khai Java EE (web.xml).

+1

trình. Cảm ơn .. – jacekn

+2

wtf .. điều này thật khó chịu! – jhohlfeld

+3

@jhohlfeld danh sách các lược đồ bằng cách phát hành hiện đang ở đây: http://www.oracle.com/webfolder/technetwork/jsc/xml/ns/javaee/index.html Schemas java <= 1.4 đang sử dụng j2ee và lược đồ cho> = 1.5 sử dụng javaee –

1

Trên bề mặt, có vẻ như lược đồ là sai. Giải quyết nó xuất hiện để chuyển hướng đến một trang HTML chứ không phải là một lược đồ XSD.

Tôi khuyên bạn chỉ nên xóa dòng này trừ khi bạn thực sự muốn thực hiện xác thực XSD khi chạy. Ghi nhớ các phần liên quan sẽ được xác nhận bởi thùng chứa servlet của bạn.

27

thay

xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_5.xsd"> 

với

xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee;http://java.sun.com/xml/ns/j2ee/web-app_2_5.xsd"> 

Giải pháp là bạn phải đặt dấu chấm phẩy giữa URL

tôi chắc chắn bạn sẽ không nhận được lỗi một lần nữa :)

+4

lý do để làm điều này là gì? Các lỗi đã biến mất, nhưng tôi không biết những gì sẽ là tác dụng phụ –

+0

Khi tôi sử dụng tuyên bố này, người xác nhận nói rằng "Không thể tìm thấy tuyên bố của element'web-app '" –

+0

Bạn đang af * ckin magician dude –

1

Trong trường hợp của tôi, tôi đã thay thế

xsi: schemaLocation = "http://java.sun.com /../ .."

với

xsi: schemaLocation =" http: // xmlns.jcp.org /../ .. "

Chúc mừng!

0

Tôi đề nghị bạn thêm ; giữa 2 đoạn: xsi:schemaLocation="http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

Như thế này:

:xsi:schemaLocation="http://java.sun.com/xml/ns/javaee;http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> 
+0

Bạn có thể cải thiện câu trả lời của mình bằng cách thêm một số định dạng, kiểm tra https://stackoverflow.com/help/formatting – Jens

+0

Cảm ơn Tot Zam và Peter Tretyakov rất nhiều –

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