Как принудительно использовать 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 ответа:
Вы можете попробовать установить исходные и объектные уровни на 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/