Company Offer Community
Conformance
Misc

Generated on 2017-09-20

Contact

Java tricks

Cipher Brain has developped some expertise in Java, and has notes here on some points which where not trivial, and for which documentation was not found easily.

Error message

After upgrading to Mandrake Linux 9.1, I got the next errors when compiling, but only with one account on my machine:

[javac] error: compiler message file broken: key=compiler.err.sun.io.MalformedInputException arguments=null, null, null, null, null, null, null

The problem seems to come from some bad locale related to UTF-8, or unknown locale,.. I first solved it (a bit radically) by running the following script, which empties every variable having a reference to 'UTF-8':

  for i in $( set | grep UTF-8 | cut -f1 -d= ) ; do export $i=; done

This completely removes any locale information from the system.

The proper way to change that is to edit the file ~/.i18n. You can find here the content of my new ~/.i18n, which solves nicely the problem.

LC_TELEPHONE=en_US.ISO-8859-1
LC_PAPER=en_US.ISO-8859-1
LC_NAME=en_US.ISO-8859-1
LC_CTYPE=en_US.ISO-8859-1
LANGUAGE=en_US.ISO-8859-1:en_US:en
LC_NUMERIC=en_US.ISO-8859-1
LC_MEASUREMENT=en_US.ISO-8859-1
LC_MONETARY=en_US.ISO-8859-1
LC_TIME=en_US.ISO-8859-1
LANG=en_US.ISO-8859-1
LC_IDENTIFICATION=en_US.ISO-8859-1
LC_ADDRESS=en_US.ISO-8859-1
LC_MESSAGES=en_US.ISO-8859-1
LC_COLLATE=en_US.ISO-8859-1