Wpis z mikrobloga

Mircy mam problem z wdrożeniem apki w #java. Problem polega na kodowaniu. Jeżeli uruchamiam program pod #eclipse wszystko piknie działa (w sensie obsługa UTF-8). Podobnie ma się jak uruchamiam aplikację pod #netbeans. Problem zaczyna się kiedy chcę uruchomić aplikację z pliku jar wcześniej wyeksportowanego z IDE (no to IDE #wcaleniesmieszne #pdk). Wtedy znowu brak obsługi UTF :( Poszperałem i jeżeli odpalam aplikację z linii poleceń za pomocą polecania

java -Dfile.encoding=utf-8 -jar plik.jar
wszystko działa dobrze. Więc, jak mogę wymusić korzystanie z UTF-8 przy uruchamianiu aplikacji poprzez kliknięcie na ikonce?
#programowanie
  • 22
@Wozyack: Okej, załatwiliśmy linuksa :) Na windowsie zrobię plik bat. Gdzie to słynne "Write once, run everywhere"? :P
Jest to wyjście, jednak jestem ciekaw czy nie ma to innego rozwiązania? To jest prosta aplikacja, na której się uczę, więc u siebie mogę to tak odpalać, ale co w sytuacji, gdybym chciał do użytkownika wysłać np. tylko jeden plik?
@wywu: Wydaje mi się, że trzeba ustawić gdzieś w manifeście jara odpowiednie kodowanie, albo inaczej wyeksportować projekt do wykonywalnego jara. Ja podałem szybko workaround ;)
Gdzie to słynne "Write once, run everywhere"?


@wywu: pic na wodę aka fotomontaż. Tak naprawdę to zdanie nigdy nie było prawdziwe, ale ktoś kiedyś rzekł i tak już zostało.
@Pipcieo: Toć pisze ze Swing daje abstrakcje nad natywnym api więc developer jest uniezalezniony od środowiska i nie odwołuje się do winAPI bezpośrednio... Zresztą jeśli masz jakieś pojecie to pewnie używasz bibliotek więc powiedz log4j albo hibernate czy cokolwiek innego masz zależne od OS? Nie, masz Jara, a nie dll czy so zależne od systemu... Po twoich odpowiedziach widzę ze jesteś atencjonariuszem wiec #czarnolisto
@kapelusz: podałem już dość argumentów. Świat się dzieli na amatorów oraz na tych, którzy wiedzą, że napisanie aplikacji w Swingu nie czyni jeszcze aplikacji niezależnej od środowiska. Ty jesteś w tej pierwszej grupie, ja w drugiej. Co poradzić. Wołanie log4j i hibernate w tym kontekście potwierdza, że jesteś amatorem.
podałem już dość argumentów


@Pipcieo: Podałeś jeden ("Swing korzysta z winapi (lub ekwiwalentu) pod windowsem."), na który kapelusz odpowiedział, a ty mu na to odpisałeś, że jest #!$%@? mózgowo :D i kilka innych epitetów. Stary, ty weź się zastanów chwilę po co tu w ogóle siedzisz, bo już na podwórku z Sebkami można oczekiwać większego poziomu dyskusji niż z tobą.

BTW.:

pie*rzył


xD
@Wozyack: Okej, problem rozwiązałem. Po prostu zamiast PrintWriter użyłem OutputStreamWriter z ustawionym UTF-8. Szkoda, że nie można w jakiś prosty sposób ustawić kodowania dla całej aplikacji przy rozruchu.