2013-01-01 6 views
11

Tôi đã thấy nhiều câu hỏi như tôi nhưng họ không trả lời câu hỏi của tôi vì tôi đang sử dụng kiến ​​và tôi không sử dụng nhật thực. Tôi chạy mã này: ant clean dist và nó cho tôi biết nhiều lần rằng warning: unmappable character for encoding UTF8.kiến: cảnh báo: ký tự không thể điều chỉnh để mã hóa UTF8

Tôi thấy trên lệnh Java có tùy chọn mã hóa, nhưng điều đó không giúp tôi vì tôi đang sử dụng kiến.

Tôi đang sử dụng Linux và tôi đang cố gắng chạy phiên bản dành cho nhà phát triển là Sentrick; Tôi đã không thực hiện bất kỳ sửa đổi nào, tôi chỉ cần tải xuống và theo sau tất cả instructions của họ và nó không làm cho không có sự khác biệt. Tôi gửi qua email developper và họ nói với tôi đó là vấn đề này nhưng tôi nghi ngờ rằng nó thực sự là cái gì đó gotta làm với lỗi này ở cuối:

BUILD FAILED 
/home/daniel/sentricksrc/sentrick/build.xml:22: The following error occurred while executing this line: 
/home/daniel/sentricksrc/sentrick/ant/common-targets.xml:83: Test de.denkselbst.sentrick.tokeniser.components.DetectedAbbreviationAnnotatorTest failed 

Tôi không chắc chắn những gì tôi sẽ làm gì bây giờ vì Tôi thực sự cần nó để làm việc

Trả lời

24

Cố gắng thay đổi mã hóa tệp của tệp nguồn và đặt Mã hóa tệp Java mặc định thành UTF-8.

Đối với Ant:

thêm -Dfile.encoding=UTF8 với môi trường ANT_OPTS bạn biến

Thiết Default Java file Encoding là UTF-8:

export JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8 

Hoặc bạn có thể khởi động java với một cuộc tranh cãi -Dfile.encoding=UTF8

+1

Tôi nghi ngờ vấn đề là một số tệp được mã hóa trong một số mã hóa khác nhưng chuỗi công cụ xử lý nó là UTF-8. – McDowell

+0

Tôi đã tìm cách giết Java bằng 'pkill java' nhưng làm thế nào để bạn bắt đầu lại nó ?? –

+0

Sử dụng 'xuất JAVA_TOOL_OPTIONS = -Dfile.encoding = UTF8' đã giải quyết vấn đề cho tôi nhưng vẫn không hiểu tại sao nó lại xảy ra. Tôi đã sử dụng 'ant' trong nhiều tháng với một vấn đề. Tôi sử dụng ** jEdit ** và chỉ thay đổi một dòng trong một trong các tệp và toàn bộ mã đã bị hỏng! –

2

Vấn đề không phải là nhật thực hay kiến. Vấn đề là bạn có một tệp xây dựng với các ký tự đặc biệt trong đó. Giống như dấu ngoặc kép thông minh hoặc m-dấu gạch ngang từ MS Word. Dù sao, bạn có các ký tự trong tệp XML của bạn mà không phải là một phần của bộ ký tự UTF-8. Vì vậy, bạn nên sửa XML của mình để xóa các ký tự không hợp lệ đó và thay thế chúng bằng các phiên bản UTF-8 tương tự nhưng hợp lệ. Tìm kiếm các ký tự đặc biệt như & # 64 © — ® vv và thay thế chúng bằng (c) hoặc bất kỳ thứ gì hữu ích cho bạn.

BTW, ký tự xấu nằm trong target.xml chung ở dòng 83