java: illegal character: '\ufeff'

0

Przepraszam, jeżeli taki temat już był. Oczywiście istnieją informacje w internecie, jednak nie potrafię rozwiązać problemu.

Przez jakieś pół roku nie odpalałem mojego projektu, który jak dobrze pamiętam działał bez zarzutu.
Teraz jak chcę skompilować projekt zarówno na stacjonarce jak i lapku pojawiają się 2 identyczne błędy w 4 klasach.

Error:(1, 1) java: illegal character: '\ufeff'
Error:(1, 9) java: class, interface, or enum expected

Czy ktoś może mi wytłumaczyć mniej więcej na czym polegają? Czego może brakować? Środowisko to intellij idea.

Dodam, że posiadam także ten sam projekt w poprzedniej wersji bez kilku funkcjonalności i działa bez zarzutu. Trochę mnie gubi ten błąd. Może nowsza wersja jdk lub coś pokrewnego może powodować błąd?

Przepraszam za niekompetencję.

Pozdrawiam
nano50

2

Edytowałeś plik jakimś dziwnym edytorem i zapisałeś go jako UTF-8 with BOM. BOM to jest Byte-Order-Mark, takie 2 nieprintowalne bajty które określają czy jest to little czy big endian. Wywal te 2 dzikie bajty z tego pliku (np. hexedytorem) i po kłopocie.

1
Shalom napisał(a):

Edytowałeś plik jakimś dziwnym edytorem i zapisałeś go jako UTF-8 with BOM. BOM to jest Byte-Order-Mark, takie 2 nieprintowalne bajty które określają czy jest to little czy big endian.

Dzięki wielkie, właśnie naprawiłem problem. Dla przyszłych szukających:

  1. Kliknij na utf-8 na dole ekranu i wybierz np. utf-16.
  2. kliknij convert.
  3. Zmień z powrotem utf-16 na utf-8(convert)
  4. ?? Profit

Dzięki wielkie, życzę miłego wieczoru. :)

1

W ramach ciekawostki powiem że bywa gorzej. Widziałem fuckup na produkcji gdzie ktos tak edytował plik .properties i efekt był taki że pierwsze property z tego pliku było "popsute" (bo z tym doklejonym BOM) i aplikacja brała default gdzieśtam zdefiniowany i nagle prodowa aplikacja stukała po jakichś testowych endpointach :D

1 użytkowników online, w tym zalogowanych: 0, gości: 1