Как принудительно использовать StringBuffer вместо StringBuilder по умолчанию в javac?


Я пытаюсь скомпилировать CLDC с kvm на linux, я получаю ошибку

Не удается получить доступ к java.яз..Файл класса StringBuilder для java.яз..StringBuilder не найден

В заявлении:

return getClass().getName() + "@" + Integer.toHexString(hashCode());

Я думаю, что это потому, что он использует свой собственный bootclasspath, который содержит StringBuffer, но не StringBuilder. Теперь, как заставить javac использовать StringBuffer вместо default StringBuilder?

Моя среда разработки-это: Ubuntu 10.04.2 LTS + javac 1.6.0_24 (sun-java6-jdk)

2 2

2 ответа:

Вы можете попробовать установить исходные и объектные уровни на 1.3 или любой другой versin, который был последним без StringBuilder.

Погуглив еще немного, я обнаружил, что можно установить спецификацию target jsr с параметром '-target' в javac. Чтобы решить мою проблему, мне пришлось вернуться в jsr14, чтобы выпустить StringBuffer вместо StringBuilder.

Javac-target jsr14 *.java

Подробнее об этом здесь: http://twit88.com/blog/2008/08/26/java-understanding-jsr14/