I have a program that allows a user to type java code into a rich text box and then compile it using the java compiler. Whenever I try to compile the code that I have written I get an error that says that I have an illegal character at the beginning of my code that is not there. This is the error the compiler is giving me:
C:UsersTravis Michael>"Program FilesJavajdk1.6.0_17binjavac" Test.java
Test.java:1: illegal character: 187
public class Test
^
Test.java:1: illegal character: 191
public class Test
^
2 errors
Chad Carisch
2,3923 gold badges21 silver badges30 bronze badges
asked Jan 2, 2010 at 21:33
8
The BOM is generated by, say, File.WriteAllText() or StreamWriter when you don’t specify an Encoding. The default is to use the UTF8 encoding and generate a BOM. You can tell the java compiler about this with its -encoding command line option.
The path of least resistance is to avoid generating the BOM. Do so by specifying System.Text.Encoding.Default, that will write the file with the characters in the default code page of your operating system and doesn’t write a BOM. Use the File.WriteAllText(String, String, Encoding) overload or the StreamWriter(String, Boolean, Encoding) constructor.
Just make sure that the file you create doesn’t get compiled by a machine in another corner of the world. It will produce mojibake.
answered Jan 2, 2010 at 22:11
![]()
Hans PassantHans Passant
912k145 gold badges1670 silver badges2507 bronze badges
2
That’s a byte order mark, as everyone says.
javac does not understand the BOM, not even when you try something like
javac -encoding UTF8 Test.java
You need to strip the BOM or convert your source file to another encoding. Notepad++ can convert a single files encoding, I’m not aware of a batch utility on the Windows platform for this.
The java compiler will assume the file is in your platform default encoding, so if you use this, you don’t have to specify the encoding.
answered Jan 2, 2010 at 22:30
zneozneo
5883 silver badges10 bronze badges
0
- If using an IDE, specify the java file encoding (via the properties panel)
- If NOT using an IDE, use an advanced text-editor (I can recommend Notepad++) and set the encoding to «UTF without BOM», or «ANSI», if that suits you.
answered Jan 2, 2010 at 21:43
![]()
BozhoBozho
582k141 gold badges1052 silver badges1136 bronze badges
In this case do the following Steps 1-7
In Android Studio
1. Menu -> Edit -> Select All
2. Menu -> Edit -> Cut
- Open new Notepad.exe
In Notepad
4. Menu -> Edit -> Paste
5. Menu -> Edit -> Select All
6. Menu -> Edit -> Copy
Back In Android Studio
7. Menu -> Edit -> Paste
answered Jan 21, 2018 at 17:16
IngoIngo
5,1141 gold badge27 silver badges23 bronze badges
http://en.wikipedia.org/wiki/Byte_order_mark
The byte order mark (BOM) is a Unicode
character used to signal the
endianness (byte order) of a text file
or stream. Its code point is U+FEFF.
BOM use is optional, and, if used,
should appear at the start of the text
stream. Beyond its specific use as a
byte-order indicator, the BOM
character may also indicate which of
the several Unicode representations
the text is encoded in.
The BOM is a funky-looking character that you sometimes find at the start of unicode streams, giving a clue what the encoding is. It’s usually handles invisibly by the string-handling stuff in Java, so you must have confused it somehow, but without seeing your code, it’s hard to see where.
You might be able to fix it trivially by manually stripping the BOM from the string before feeding it to javac. It probably qualifies as whitespace, so try calling trim() on the input String, and feeding the output of that to javac.
answered Jan 2, 2010 at 21:42
skaffmanskaffman
396k96 gold badges814 silver badges768 bronze badges
8
That’s a problem related to BOM (Byte Order Mark) character. Byte Order Mark BOM is an Unicode character used for defining a text file byte order and comes in the start of the file. Eclipse doesn’t allow this character at the start of your file, so you must delete it. for this purpose, use a rich text editor like Notepad++ and save the file with encoding «UTF-8 without BOM». That should remove the problem.
I have copy pasted the some content from a website to a Notepad++ editor,
it shows the "LS" with black background. Have deleted the "LS" content and
have copy the same content from notepad++ to java file, it works fine.
answered Mar 15, 2016 at 14:10
![]()
anand krishanand krish
4,0414 gold badges40 silver badges47 bronze badges
I solved this by right clicking in my textEdit program file and selecting [substitutions] and un-checking smart quotes.
answered Nov 11, 2016 at 18:53
![]()
instead of getting Notepad++,
You can simply
Open the file with Wordpad
and then
Save As — Plain Text document
answered Sep 6, 2016 at 15:29
0
Even I was facing this issue as am using notepad++ to code. It is very convenient to type the code in notepad++. However after compiling I get an error » error: illegal character: ‘u00bb'».
Solution :
Start writing the code in older version of notepad(which will be there by default in your PC) and save it. Later the modifications can be done using notepad++.
It works!!!
answered Jul 3, 2016 at 5:15
I had the same problem with a file i generated using the command echo echo "" > Main.java in Windows Powershell. I searched the problem and it seemed to have something to do with encoding. I checked the encoding of the file using file -i Main.java and the result was text/plain; charset=utf-16le.
Later i deleted the file and recreated it using git bash using touch Main.java and with this the file compiled successfully. I checked the file encoding using file -i command and this time the result was Main.java: text/x-c; charset=us-ascii.
Next i searched the internet and found that to create an empty file using Powershell we can use the Cmdlet New-Item. I create the file using New-Item Main.java and checked it’s encoding and this time the result was Main.java: text/x-c; charset=us-ascii and this time it compiled successully.
answered Apr 10, 2021 at 6:01
velocityvelocity
1,50019 silver badges23 bronze badges
10 ответов
Спецификация создается, например, File.WriteAllText() или StreamWriter, если вы не указали кодировку. По умолчанию используется кодировка UTF8 и создается спецификация. Вы можете сообщить компилятору java об этом с помощью параметра командной строки -encoding.
Путь наименьшего сопротивления состоит в том, чтобы избежать создания спецификации. Сделайте это, указав System.Text.Encoding.Default, который напишет файл с символами на кодовой странице по умолчанию вашей операционной системы и не будет писать спецификацию. Используйте перегрузку File.WriteAllText(String, String, Encoding) или конструктор StreamWriter (String, Boolean, Encoding).
Просто убедитесь, что созданный вами файл не скомпилируется машиной в другом уголке мира. Он произведет mojibake.
Hans Passant
02 янв. 2010, в 23:38
Поделиться
Это знак байтового порядка, как все говорят.
javac не понимает спецификацию, даже когда вы пытаетесь что-то вроде
javac -encoding UTF8 Test.java
Вам нужно снять спецификацию или преобразовать исходный файл в другую кодировку. Notepad ++ может преобразовывать единую кодировку файлов, для этого я не знаю о пакетной утилите на платформе Windows.
Компилятор java предполагает, что файл находится в кодировке по умолчанию для платформы, поэтому, если вы используете это, вам не нужно указывать кодировку.
zneo
03 янв. 2010, в 00:26
Поделиться
http://en.wikipedia.org/wiki/Byte_order_mark
Знак порядка байтов (BOM) — это Unicode символ, используемый для endianness (порядок байтов) текстового файла или поток. Его кодовая точка U + FEFF. Использование спецификации необязательно, и, если используется, должен появиться в начале текста поток. Помимо его конкретного использования в качестве байт-указатель, спецификация символ может также указывать, какой из несколько представлений Unicode текст закодирован.
BOM — это забавный вид, который вы иногда находите в начале потоков Unicode, давая понять, что такое кодировка. Он обычно обрабатывает невидимые элементы обработки строк в Java, поэтому вы должны каким-то образом смутить его, но, не видя своего кода, трудно увидеть, где.
Возможно, вы сможете устранить его тривиально, вручную удалив спецификацию из строки перед ее подачей на javac. Вероятно, он квалифицируется как пробел, поэтому попробуйте называть trim() на входной строке и подавать вывод этого значения на javac.
skaffman
02 янв. 2010, в 22:28
Поделиться
Я решил это, щелкнув правой кнопкой мыши в своем программном файле textEdit и выбрав [замены] и отключив смарт-кавычки.
Bobby Iveson
11 нояб. 2016, в 19:43
Поделиться
вместо получения Notepad ++,
Вы можете просто
Откройте файл с помощью Wordpad
а потом
Сохранить как обычный документ
HelpNeeded
06 сен. 2016, в 16:04
Поделиться
Это проблема, связанная с типом BOM (Byte Order Mark). Байт-указатель BOM является символом Юникода, который используется для определения порядка байтов текстового файла и входит в начало файла. Eclipse не разрешает этот символ в начале вашего файла, поэтому вы должны его удалить. для этого используйте богатый текстовый редактор, например Notepad ++, и сохраните файл с кодировкой «UTF-8 без спецификации». Это должно устранить проблему.
I have copy pasted the some content from a website to a Notepad++ editor,
it shows the "LS" with black background. Have deleted the "LS" content and
have copy the same content from notepad++ to java file, it works fine.
Anandha Krishnan
15 март 2016, в 14:27
Поделиться
- Если вы используете IDE, укажите кодировку java файла (через панель свойств)
- Если НЕ использовать IDE, используйте расширенный текстовый редактор (я могу рекомендовать Notepad ++) и установить кодировку в «UTF без спецификации» или «ANSI», если это вам подходит.
Bozho
02 янв. 2010, в 23:24
Поделиться
В Android Studio
1. Menu -> Edit -> Select All
2. Menu -> Edit -> Copy
- Откройте новый файл Notepad.exe
В Блокноте
4. Menu -> Edit -> Paste
5. Menu -> Edit -> Select All
6. Menu -> Edit -> Copy
Назад В Android Studio
7. Menu -> Edit -> Paste
Ingo
21 янв. 2018, в 17:42
Поделиться
Даже я столкнулся с этой проблемой, поскольку я использую notepad ++ для кода. Очень удобно вводить код в блокноте ++. Однако после компиляции я получаю сообщение об ошибке «error: незаконный символ: ‘ u00bb».
Решение:
Начните писать код в старой версии блокнота (который будет по умолчанию на вашем ПК) и сохраните его. Позже изменения могут быть сделаны с помощью notepad ++.
Он работает!!!
Akhil Arkyath
03 июль 2016, в 06:43
Поделиться
Будьте абсолютно уверены, что вы пишете файл в той же кодировке символов, что и вы используете javac.
Thorbjørn Ravn Andersen
03 янв. 2010, в 00:01
Поделиться
Ещё вопросы
- 0перебирая массивы указателей и отображая
- 0AngularJS украшает $ q с сокращением для .notify
- 1Как установить значение счетчика на основе значения в настройках
- 0Как сделать выпадающее меню?
- 0Как автоматически передавать строковые и bool переменные в родительскую область директивы
- 1Java: Лучшая практика для определения метода по отношению к классу
- 1OpenGL ES glBlendFunc аппаратные требования
- 0угловая маршрутизация теряет цвет
- 0AngularJS создает область действия директивы со значением родительской переменной контроллера
- 1Скопируйте текст из JTextField в JTextArea
- 1Angular 4 Как вызвать функцию из файла .js в файле .ts
- 0Angular UI-Router — пустые $ stateparams из строки запроса
- 1Запрос SQL возвращает пустой вывод при запуске внутри скрипта Python
- 0Изображение SQL не получено с помощью PHP
- 1Будут ли идентификационные номера ресурсов одинаковыми для каждой установки?
- 1Мангуст «this.model не является функцией»
- 1Динамически создавать столбцы в GridView в WPF MVVM
- 1Наследование объектов в protobuf-сети
- 1Как разработать макет, который хорошо смотрится в портретной и альбомной ориентациях?
- 1Ошибка WebView Inside TabView
- 0docker-compose запустить два экземпляра mysql
- 1RestyGWT аргумент содержимого должен быть классом
- 0ionic: загрузить div без использования window.location.reload ()
- 0Загрузка файла на сервер с помощью AngularJS и Java Servlet
- 1Проблема вызова метода из другого класса
- 1Выполнение работоспособных пакетов в нескольких потоках
- 1Конкатенация переменной и строкового скрипта Python
- 1Деформация прямоугольного изображения в неправильную форму
- 1Pandas str.count ()
- 1Node.js Экспресс-серверная структура
- 0Есть ли способ создать меню в CSS, которые выглядят как HTML-выпадающий
- 0объединить две таблицы в файле php
- 0Извлечь headerText из JSON в результаты div, основываясь на выборе из выпадающего списка
- 1показывает неправильный ответ для общего объема физической памяти в Java
- 1Обновление и удаление с помощью пользовательского контекстного меню Ag-Grid
- 1PyTest: автоматическое удаление временного каталога, созданного с помощью tmpdir_factory
- 0Большое приложение чата Mysql db для хранения сообщений 1 строка на сообщение или добавление всей цепочки к 1 длинному текстовому файлу
- 1Как приложение Android может инициировать соединение Bluetooth HFP и A2DP с гарнитурой Bluetooth?
- 0Карта Google AngularJS не обновляет свой контент при первом просмотре
- 1Как контролировать размер изображения при загрузке с URL с помощью C #
- 0JQuery Автозаполнение проблемы
- 0Извлеките определенное количество символов с помощью cin.get и убедитесь, что это правильно
- 0foreach итерация двух массивов в php
- 1Преобразование атрибутов XML в список для использования параметров в функцию в Python
- 0Различия между передачей по значению и передачей по ссылке в c ++
- 0Не уверен, что сдвиг страницы слегка
- 0Как читать IP-адреса из файла .txt, используя preg_match в php
- 0Несколько нг-повторов на одном элементе
- 1C # ListBox, различный фон для каждого элемента
Тайна ошибки комментария и другие истории…

Вступление
Знаете ли вы, что следующее является допустимым выражением Java?
u0069u006Eu0074 u0069 u003D u0038u003B
Вы можете попробовать скопировать и вставить его в основной метод любого класса и скомпилировать. Если вы затем добавите следующий оператор
System.out.println(i);
и после компиляции запустите этот класс, код напечатает число 8!
А знаете ли вы, что этот комментарий вместо этого вызывает синтаксическую ошибку во время компиляции?
/*
* The file will be generated inside the C:usersclaudio folder
*/
Тем не менее, комментарии не должны приводить к синтаксическим ошибкам. Фактически, программисты часто комментируют фрагменты кода, чтобы компилятор их игнорировал… так что же происходит?
Для того, чтобы узнать почему это происходит, потратьте несколько минут на небольшой обзор основ Java о примитивном типе char.
Примитивный тип данных char
Как всем известно, char это один из восьми примитивных типов Java. Это позволяет нам хранить по одному символу. Ниже приведен простой пример, в котором значение символа присваивается типу char:
char aCharacter = 'a';
На самом деле этот тип данных используется нечасто, потому что в большинстве случаев программистам нужны последовательности символов и поэтому они предпочитают строки. Каждое буквальное значение символа должно быть заключено между двумя одинарными кавычками, чтобы не путать с двойными кавычками, используемыми для строковых литералов. Объявление строки:
String s = "Java melius semper quam latinam linguam est";
Есть три способа присвоить литералу значение типа char, и все три требуют включения значения в одинарные кавычки:
-
используя один печатный символ на клавиатуре (например
'&'). -
используя формат Unicode с шестнадцатеричной нотацией (например,
'u0061', который эквивалентен десятичному числу 97 и идентифицирует символ'a'). -
используя специальный escape-символ (например,
'n'который указывает символ перевода строки).
Давайте добавим некоторые детали в следующих трех разделах.
Печатаемые символы клавиатуры
Мы можем назначить любой символ, найденный на нашей клавиатуре, char переменной, при условии, что наши системные настройки поддерживают требуемый символ и что этот символ доступен для печати (например, клавиши «Canc» и «Enter» не печатаются).
Скорее всего речь идет о «Esc» — комментарий vesper-bot.
В любом случае литерал, присваиваемый примитивному типу char, всегда заключен между двумя одинарными кавычками. Вот некоторые примеры:
char aUppercase = 'A';
char minus = '-';
char at = '@';
Тип данных charхранится в 2 байтах (16 бит), а диапазон состоит только из положительных чисел от 0 до 65 535. Фактически, существует «отображение», которое связывает определенный символ с каждым числом. Это отображение (или кодирование) определяется стандартом Unicode (более подробно описанным в следующем разделе).
Формат Unicode (шестнадцатеричное представление)
Мы сказали, что примитивный тип char хранится в 16 битах и может определять до 65 536 различных символов. Кодирование Unicode занимается стандартизацией всех символов (а также символов, смайликов, идеограмм и т. д.), существующих на этой планете. Unicode — это расширение кодировки, известной как UTF-8, которая, в свою очередь, основана на старом 8-битном расширенном стандарте ASCII, который, в свою очередь, содержит самый старый стандарт, ASCII code (аббревиатура от American Standard Code for Information Interchange).
Мы можем напрямую присвоить Unicode char значение в шестнадцатеричном формате, используя 4 цифры, которые однозначно идентифицируют данный символ, добавляя к нему префикс u (всегда в нижнем регистре). Например:
char phiCharacter = 'u03A6'; // Capital Greek letter Φ
char nonIdentifiedUnicodeCharacter = 'uABC8';
В данном случае мы говорим о литерале в формате Unicode (или литерале в шестнадцатеричном формате). Фактически, при использовании 4 цифр в шестнадцатеричном формате охватывается ровно 65 536 символов.
Java 15 поддерживает Unicode версии 13.0, которая содержит намного больше символов, чем 65 536 символов. Сегодня стандарт Unicode сильно изменился и теперь позволяет нам представлять потенциально более миллиона символов, хотя уже присвоено только 143 859 чисел конкретным символам. Но стандарт постоянно развивается. В любом случае, для присвоения значений Unicode, выходящих за пределы 16-битного диапазона типа char, мы обычно используем классы вроде String и Character, но поскольку это очень редкий случай и не интересен для целей этой статьи, мы не будем об этом говорить.
Специальные escape-символы
В char типе также можно хранить специальные escape-символы, то есть последовательности символов, которые вызывают определенное поведение при печати:
-
bэквивалентно backspace, отмене слева (эквивалентно клавише Delete). -
nэквивалентно переводу строки (эквивалентно клавише Ente). -
\равняется только одному (только потому, что символ используется для escape-символов). -
tэквивалентно горизонтальной табуляции (эквивалентно клавише TAB). -
'эквивалентно одинарной кавычке (одинарная кавычка ограничивает литерал символа). -
"эквивалентно двойной кавычке (двойная кавычка ограничивает литерал строки). -
rпредставляет собой возврат каретки (специальный символ, который перемещает курсор в начало строки). -
fпредставляет собой подачу страницы (неиспользуемый специальный символ, представляющий курсор, перемещающийся на следующую страницу документа).
Обратите внимание, что присвоение литерала '"' символу совершенно законно, поэтому следующий оператор:
System.out.println('"');
что эквивалентно следующему коду:
char doubleQuotes = '"';
System.out.println(doubleQuotes);
правильно и напечатает символ двойной кавычки:
"
Если бы мы попытались не использовать escape-символ для одиночных кавычек, например, со следующим утверждением:
System.out.println(''');
мы получим следующие ошибки времени компиляции, поскольку компилятор не сможет различить разделители символов:
error: empty character literal
System.out.println(''');
^
error: unclosed character literal
System.out.println(''');
^
2 errors
Поскольку разделители строковых литералов представлены в двойных кавычках, ситуация обратная. Фактически, внутри строки можно заключить одинарные кавычки:
System.out.println("'IQ'");
который напечатает:
'IQ'
С другой стороны, мы должны использовать " escape-символ, чтобы использовать двойные кавычки в строке. Итак, следующее утверждение:
System.out.println(""IQ"");
вызовет следующие ошибки компиляции:
error: ')' expected
System.out.println(""IQ"");
^
error: ';' expected
System.out.println(""IQ"");
^
2 errors
Вместо этого верна следующая инструкция:
System.out.println(""IQ"");
и напечатает:
"IQ"
Написание Java кода в формате Unicode
Литеральный формат Unicode также можно использовать для замены любой строки нашего кода. Фактически, компилятор сначала преобразует формат Unicode в символ, а затем оценивает синтаксис. Например, мы могли бы переписать следующий оператор:
int i = 8;
следующим образом:
u0069u006Eu0074 u0069 u003D u0038u003B
Фактически, если мы добавим к предыдущей строке следующий оператор:
System.out.println("i = " + i);
он напечатает:
i = 8
Несомненно, это бесполезный способ написания нашего кода. Но может быть полезно знать эту функцию, поскольку она позволяет нам понять некоторые ошибки, которые (редко) случаются.
Формат Unicode для escape-символов
Тот факт, что компилятор преобразует шестнадцатеричный формат Unicode перед оценкой кода, имеет некоторые последствия и оправдывает существование escape-символов. Например, давайте рассмотрим символ перевода строки, который можно представить с помощью escape-символа n. Теоретически перевод строки связан в кодировке Unicode с десятичным числом 10 (что соответствует шестнадцатеричному числу A). Но, если мы попытаемся определить его в формате Unicode:
char lineFeed = 'u000A';
мы получим следующую ошибку времени компиляции:
error: illegal line end in character literal
char lineFeed = 'u000A';
^
1 error
В реальности, компилятор преобразует предыдущий код в следующий перед его оценкой:
char lineFeed = '
';
Формат Unicode был преобразован в символ новой строки, и предыдущий синтаксис не является допустимым синтаксисом для компилятора Java.
Аналогично, символ одинарной кавычки ', который соответствует десятичному числу 39 (эквивалентно шестнадцатеричному числу 27) и который мы можем представить с помощью escape-символа ‘, не может быть представлен в формате Unicode:
char singleQuote = 'u0027';
Также в этом случае компилятор преобразует предыдущий код следующим образом:
char singleQuote = ''';
что приведет к следующим ошибкам времени компиляции:
error: empty character literal
char singleQuote = 'u0027';
^
error: unclosed character literal
char singleQuote = 'u0027';
^
2 errors
Первая ошибка связана с тем, что первая пара кавычек не содержит символа, а вторая ошибка указывает на то, что указание третьей одинарной кавычки является незакрытым символьным литералом.
Также есть проблемы с символом возврата каретки, представленным шестнадцатеричным числом D (соответствующим десятичному числу 13) и уже представленным с помощью escape-символа r. Фактически, если мы напишем:
char carriageReturn = 'u000d';
мы получим следующую ошибку времени компиляции:
error: illegal line end in character literal
char carriageReturn = 'u000d';
^
1 error
Фактически, компилятор преобразовал число в формате Unicode в возврат каретки, вернув курсор в начало строки, и то, что должно было быть второй одинарной кавычкой, стало первой.
Что касается символа ,, представленного десятичным числом 92 (соответствующего шестнадцатеричному числу 5C) и представленного escape-символом , если мы напишем:
char backSlash = 'u005C';
мы получим следующую ошибку времени компиляции:
error: unclosed character literal
char backSlash = 'u005C';
^
1 error
Это потому, что предыдущий код будет преобразован в следующий:
char backSlash = '';
и поэтому пара символов ' рассматривается как escape-символ, соответствующий одинарной кавычке, и поэтому в буквальном закрытии отсутствует другая одинарная кавычка.
С другой стороны, если мы рассмотрим символ ", представленный шестнадцатеричным числом 22 (соответствующий десятичному числу 34) и представленный escape-символом ", если мы напишем:
char quotationMark = 'u0022';
проблем не будет. Но если мы используем этот символ внутри строки:
String quotationMarkString = "u0022";
мы получим следующую ошибку времени компиляции:
error: unclosed string literal
String quotationMarkString = "u0022";
^
1 error
поскольку предыдущий код будет преобразован в следующий:
String quotationMarkString = """;
Тайна ошибки комментария
Еще более странная ситуация возникает при использовании однострочных комментариев для форматов Unicode, таких как возврат каретки или перевод строки. Например, несмотря на то, что оба следующих оператора закомментированы, могут возникнуть ошибки во время компиляции!
// char lineFeed = 'u000A';
// char carriageReturn = 'u000d';
Это связано с тем, что компилятор всегда преобразует шестнадцатеричные форматы с помощью символов перевода строки и возврата каретки, которые несовместимы с однострочными комментариями; они печатают символы вне комментария!
Чтобы разрешить ситуацию, используйте обозначение многострочного комментария, например:
/* char lineFeed = 'u000A';
char carriageReturn = 'u000d'; */
Другая ошибка, из-за которой программист может потерять много времени, — это использование последовательности u в комментарии. Например, со следующим комментарием мы получим ошибку времени компиляции:
/*
* The file will be generated inside the C:usersclaudio folder
*/
Если компилятор не находит допустимую последовательность из 4 шестнадцатеричных символов после u, он выведет следующую ошибку:
error: illegal unicode escape
* The file will be generated inside the C:usersclaudio folder
^
1 error
Выводы
В этой статье мы увидели, что использование типа charв Java скрывает некоторые действительно удивительные особые случаи. В частности, мы увидели, что можно писать код Java, используя формат Unicode. Это связано с тем, что компилятор сначала преобразует формат Unicode в символ, а затем оценивает синтаксис. Это означает, что программисты могут находить синтаксические ошибки там, где они никогда не ожидали, особенно в комментариях.
Примечание автора: эта статья представляет собой короткий отрывок из раздела 3.3.5 «Примитивные символьные типы данных» тома 1 моей книги «Java для пришельцев». Для получения дополнительной информации посетите сайт книги (вы можете загрузить раздел 3.3.5 из области «Примеры»).
У меня есть программа, которая позволяет пользователю вводить код Java в поле с форматированным текстом, а затем компилировать его с помощью компилятора Java. Всякий раз, когда я пытаюсь скомпилировать написанный мной код, я получаю сообщение об ошибке, в котором говорится, что у меня есть недопустимый символ в начале моего кода, которого нет. Это ошибка, которую выдает мне компилятор:
C:UsersTravis Michael>"Program FilesJavajdk1.6.0_17binjavac" Test.java
Test.java:1: illegal character: 187
public class Test
^
Test.java:1: illegal character: 191
public class Test
^
2 errors
9 ответы
Спецификация создается, скажем, с помощью File.WriteAllText () или StreamWriter, если вы не указываете кодировку. По умолчанию используется кодировка UTF8 и создается спецификация. Вы можете сообщить об этом компилятору java с помощью параметра командной строки -encoding.
Путь наименьшего сопротивления — избежать создания спецификации. Сделайте это, указав System.Text.Encoding.Default, который запишет файл с символами из кодовой страницы по умолчанию вашей операционной системы и не будет записывать спецификацию. Используйте перегрузку File.WriteAllText (String, String, Encoding) или конструктор StreamWriter (String, Boolean, Encoding).
Просто убедитесь, что созданный вами файл не компилируется машиной в другом уголке мира. Это произведет кракозябры.
Создан 02 янв.
Как все говорят, это знак порядка байтов.
javac не понимает спецификации, даже когда вы пытаетесь что-то вроде
javac -encoding UTF8 Test.java
Вам необходимо удалить спецификацию или преобразовать исходный файл в другую кодировку. Notepad ++ может преобразовывать кодировку отдельных файлов, я не знаю о пакетной утилите на платформе Windows для этого.
Компилятор java предполагает, что файл находится в кодировке по умолчанию вашей платформы, поэтому, если вы используете это, вам не нужно указывать кодировку.
Создан 02 янв.
- При использовании IDE укажите кодировку файла java (через панель свойств)
- Если НЕ используете IDE, используйте расширенный текстовый редактор (я могу порекомендовать Notepad ++) и установите кодировку «UTF без спецификации» или «ANSI», если вам это подходит.
Создан 02 янв.
http://en.wikipedia.org/wiki/Byte_order_mark
Метка порядка байтов (BOM) — это символ Unicode, используемый для обозначения порядка байтов (порядка байтов) текстового файла или потока. Его кодовая точка — U + FEFF. Использование спецификации не является обязательным и, если оно используется, должно появиться в начале текстового потока. Помимо конкретного использования в качестве индикатора порядка байтов, символ спецификации может также указывать, в каком из нескольких представлений Unicode закодирован текст.
Спецификация — это необычный на вид символ, который иногда можно встретить в начале потоков Unicode, что дает представление о кодировке. Обычно он незаметно обрабатывается средствами обработки строк в Java, поэтому вы, должно быть, как-то его запутали, но, не видя своего кода, трудно понять, где.
Вы могли бы тривиально исправить это, вручную удалив спецификацию из строки перед ее передачей в javac. Это, вероятно, квалифицируется как пробел, поэтому попробуйте позвонить trim() на входной строке и подача вывода этого на javac.
Создан 02 янв.
В Android Studio
1. Menu -> Edit -> Select All
2. Menu -> Edit -> Copy
- Откройте новый Notepad.exe
В блокноте
4. Menu -> Edit -> Paste
5. Menu -> Edit -> Select All
6. Menu -> Edit -> Copy
Вернуться в Android Studio
7. Menu -> Edit -> Paste
Создан 21 янв.
Это проблема, связанная с символом BOM (Byte Order Mark). Метка порядка байтов BOM — это символ Unicode, используемый для определения порядка байтов текстового файла и идущий в начале файла. Eclipse не позволяет использовать этот символ в начале вашего файла, поэтому вы должны удалить его. для этого используйте редактор форматированного текста, например Notepad ++, и сохраните файл в кодировке «UTF-8 без спецификации». Это должно устранить проблему.
I have copy pasted the some content from a website to a Notepad++ editor,
it shows the "LS" with black background. Have deleted the "LS" content and
have copy the same content from notepad++ to java file, it works fine.
ответ дан 15 мар ’16, в 14:03
Я решил это, щелкнув правой кнопкой мыши в моем программном файле textEdit и выбрав [подстановки] и сняв галочку с умных кавычек.
Создан 11 ноя.
вместо Notepad ++ вы можете просто открыть файл с помощью Wordpad, а затем сохранить как — текстовый документ
Создан 06 сен.
Даже я столкнулся с этой проблемой, так как использую блокнот ++ для кодирования. Набирать код в блокноте ++ очень удобно. Однако после компиляции я получаю сообщение об ошибке «ошибка: недопустимый символ: ‘ u00bb’». Решение: начните писать код в старой версии блокнота (который по умолчанию будет там на вашем ПК) и сохраните его. Позже изменения можно будет сделать с помощью notepad ++. Оно работает!!!
Создан 03 июля ’16, 06:07
Не тот ответ, который вы ищете? Просмотрите другие вопросы с метками
java
javac
or задайте свой вопрос.
Originally Posted by Lord Jonathan
Send me your Config.java file here and I’ll look at it for you.
Code:
package org.luzox;
public class Config {
/**
* Item that dissapear on death.
*/
public static final int[] ITEM_DISSAPEAR = { 19111, // Tokhaar-Kal
7462,// bgloves
6570,// fcape
};
public static final boolean SERVER_DEBUG = false;//needs to be false for Real world to work
public static final String SERVER_NAME = "luzoxpk";
public static final String WELCOME_MESSAGE = "luzoxpk";
public static final String FORUMS = "luzoxpk ";
public static final int CLIENT_VERSION = 1;
public static int MESSAGE_DELAY = 6000;
public static final int ITEM_LIMIT = 25000; // item id limit, different clients have more items like silab which goes past 15000
public static final int MAXITEM_AMOUNT = Integer.MAX_VALUE;
public static final int BANK_SIZE = 352;
public static final int MAX_PLAYERS = 1024;
public static int REGION_SIZE = 0;
public static int REGION_AMOUNT = 70;
public static int REGION_DECREASE = 6;
public static int REGION_NORMALREGION = 32;
public static final int CONNECTION_DELAY = 100; // how long one ip can keep connecting
public static final int IPS_ALLOWED = 25; // how many ips are allowed
public static final boolean WORLD_LIST_FIX = false; // change to true if you want to stop that world--8 thing, but it can cause the screen to freeze on silabsoft client
public static final int[] ITEM_SELLABLE = {1724, 6570, 19111, 773, 1052,1495,88,7237,9813,4558,4083,11212,15060,2572,2438,155,153,151,7899,6570,1052,4587,1305,1434,1215,10828,1163,1201,1127,1079,7461,2491,2497,2503,392,385,386,995, 15272, 4091, 4092, 4093, 4094, 391, 385, 392, 386}; // what items can't be sold in any store
public static final int[] ITEM_TRADEABLE = {1724, 6570, 19111, 773, 1495, 88, 7899, 9813, 15060, 6570, 2572, 2438, 155, 153, 151, 1052}; // what items can't be traded or staked
public static final int[] UNDROPPABLE_ITEMS = {1724, 6570, 19111, 773, 1495, 7899, 9813, 88, 15060, 6570, 2572, 1052}; // what items can't be dropped
public static final int[] FUN_WEAPONS = {2460,2461,2462,2463,2464,2465,2466,2467,2468,2469,2470,2471,2471,2473,2474,2475,2476,2477}; // fun weapons for dueling
public static final boolean ADMIN_CAN_TRADE = true; //can admins trade?
public static final boolean ADMIN_CAN_SELL_ITEMS = true; // can admins sell items?
public static final boolean ADMIN_DROP_ITEMS = false; // can admin drop items?
public static final int[] PVP_ARMOR = { //13864,13861,13858,13896,13902,13899,13890,13884,13893,13887,13883,13879,13876,13873,13870 };
};
public static final int START_LOCATION_X = 3096; // start here
public static final int START_LOCATION_Y = 3503;
public static final int RESPAWN_X = 3096; // when dead respawn here
public static final int RESPAWN_Y = 3503;
public static final int DUELING_RESPAWN_X = 3362; // when dead in duel area spawn here
public static final int DUELING_RESPAWN_Y = 3263;
public static final int RANDOM_DUELING_RESPAWN = 5; // random coords
public static final int NO_TELEPORT_WILD_LEVEL = 20; // level you can't tele on and above
public static final int SKULL_TIMER = 1200; // how long does the skull last? seconds x 2
public static final int TELEBLOCK_DELAY = 20000; // how long does teleblock last for.
public static final boolean SINGLE_AND_MULTI_ZONES = true; // multi and single zones?
public static final boolean COMBAT_LEVEL_DIFFERENCE = true; // wildy levels and combat level differences matters
public static final boolean itemRequirements = true; // attack, def, str, range or magic levels required to wield weapons or wear items?
public static final int EXP_GAINER = 250;
public static final int MELEE_EXP_RATE = EXP_GAINER; // damage * exp rate
public static final int RANGE_EXP_RATE = EXP_GAINER;
public static final int MAGIC_EXP_RATE = EXP_GAINER;
public static final double SERVER_EXP_BONUS = 1;
public static final double DOUBLE_EXP_BONUS = 1;
public static final int INCREASE_SPECIAL_AMOUNT = 17500; // how fast your special bar refills
public static final int INCREASE_SPECIAL_AMOUNT_ZAM = 14500;
public static final boolean PRAYER_POINTS_REQUIRED = true; // you need prayer points to use prayer
public static final boolean PRAYER_LEVEL_REQUIRED = true; // need prayer level to use different prayers
public static final boolean MAGIC_LEVEL_REQUIRED = true; // need magic level to cast spell
public static final int GOD_SPELL_CHARGE = 300000; // how long does god spell charge last?
public static final boolean RUNES_REQUIRED = true; // magic rune required?
public static final boolean CORRECT_ARROWS = true; // correct arrows for bows?
public static final boolean CRYSTAL_BOW_DEGRADES = false; // magic rune required?
public static final int SAVE_TIMER = 5000; // save every 1 minute
public static final int NPC_RANDOM_WALK_DISTANCE = 5; // the square created , 3x3 so npc can't move out of that box when randomly walking
public static final int NPC_FOLLOW_DISTANCE = 10; // how far can the npc follow you from it's spawn point,
public static final int[] UNDEAD_NPCS = {90,91,92,93,94,103,104,73,74,75,76,77}; // undead npcs
/**
* Barrows Reward
*/
/**
* Glory
*/
public static final int EDGEVILLE_X = 3094;
public static final int EDGEVILLE_Y = 3469;
public static final String EDGEVILLE = "";
public static final int AL_KHARID_X = 3293;
public static final int AL_KHARID_Y = 3174;
public static final String AL_KHARID = "";
public static final int KARAMJA_X = 3087;
public static final int KARAMJA_Y = 3500;
public static final String KARAMJA = "";
public static final int MAGEBANK_X = 2538;
public static final int MAGEBANK_Y = 4716;
public static final String MAGEBANK = "";
/**
* Teleport Spells
**/
// modern
public static final int VARROCK_X = 3087;
public static final int VARROCK_Y = 3500;
public static final String VARROCK = "";
public static final int LUMBY_X = 3222;
public static final int LUMBY_Y = 3218;
public static final String LUMBY = "";
public static final int FALADOR_X = 2964;
public static final int FALADOR_Y = 3378;
public static final String FALADOR = "";
public static final int CAMELOT_X = 2757;
public static final int CAMELOT_Y = 3477;
public static final String CAMELOT = "";
public static final int ARDOUGNE_X = 2662;
public static final int ARDOUGNE_Y = 3305;
public static final String ARDOUGNE = "";
public static final int WATCHTOWER_X = 3087;
public static final int WATCHTOWER_Y = 3500;
public static final String WATCHTOWER = "";
public static final int TROLLHEIM_X = 3243;
public static final int TROLLHEIM_Y = 3513;
public static final String TROLLHEIM = "";
// ancient
public static final int PADDEWWA_X = 3098;
public static final int PADDEWWA_Y = 9884;
public static final int SENNTISTEN_X = 3322;
public static final int SENNTISTEN_Y = 3336;
public static final int KHARYRLL_X = 3492;
public static final int KHARYRLL_Y = 3471;
public static final int LASSAR_X = 3006;
public static final int LASSAR_Y = 3471;
public static final int DAREEYAK_X = 3161;
public static final int DAREEYAK_Y = 3671;
public static final int CARRALLANGAR_X = 3156;
public static final int CARRALLANGAR_Y = 3666;
public static final int ANNAKARL_X = 3288;
public static final int ANNAKARL_Y = 3886;
public static final int GHORROCK_X = 2977;
public static final int GHORROCK_Y = 3873;
public static final int TIMEOUT = 20;
public static final int CYCLE_TIME = 600;
public static final int BUFFER_SIZE = 10000;
public static final int MAX_PROCESS_PACKETS = 7;
/**
* Slayer Variables
*/
public static final int[][] SLAYER_TASKS = {{1,87,90,4,5}, //low tasks
{6,7,8,9,10}, //med tasks
{11,12,13,14,15}, //high tasks
{1,1,15,20,25}, //low reqs
{30,35,40,45,50}, //med reqs
{60,75,80,85,90}}; //high reqs
/**
* Skill Experience Multipliers
*/
public static final int WOODCUTTING_EXPERIENCE = 40;
public static final int MINING_EXPERIENCE = 40;
public static final int SMITHING_EXPERIENCE = 40;
public static final int FARMING_EXPERIENCE = 40;
public static final int FIREMAKING_EXPERIENCE = 50;
public static final int HERBLORE_EXPERIENCE = 40;
public static final int FISHING_EXPERIENCE = 40;
public static final int AGILITY_EXPERIENCE = 40;
public static final int PRAYER_EXPERIENCE = 80;
public static final int RUNECRAFTING_EXPERIENCE = 40;
public static final int CRAFTING_EXPERIENCE = 30;
public static final int THIEVING_EXPERIENCE = 40;
public static final int SLAYER_EXPERIENCE = 50;
public static final int COOKING_EXPERIENCE = 40;
public static final int FLETCHING_EXPERIENCE = 80;
public static final int[][] NPC_DROPS = {// NPC ID, Item ID, Amount, if
// Misc.random(Lastnumber) == 0,
//Ice warriors
{ 125, 5291, 1, 10 },
{ 125, 5292, 1, 15 },
{ 125, 5293, 1, 15 },
{ 125, 5294, 1, 15 },
{ 125, 5295, 1, 25 },
{ 125, 5296, 1, 25 },
{ 125, 5297, 1, 25 },
{ 125, 5298, 1, 20 },
{ 125, 5299, 1, 25 },
{ 125, 5300, 1, 30 },
{ 125, 5301, 1, 30 },
{ 125, 5302, 1, 25 },
{ 125, 5303, 1, 20 },
{ 125, 5304, 1, 30 },
{ 125, 985, 1, 900 },
{ 125, 526, 1, 0 },
{ 125, 987, 1, 900 },
{ 125, 1127, 1, 65 },
{ 125, 892, 50, 35 },
{ 125, 1147, 1, 35 },
{ 125, 1202, 1, 30 },
{ 125, 3101, 1, 45 },
{ 125, 4132, 1, 50 },
{ 125, 1275, 1, 55 },
//Chickens
{ 41, 5291, 1, 10 },
{ 41, 5292, 1, 15 },
{ 41, 5293, 1, 15 },
{ 41, 5294, 1, 15 },
{ 41, 5295, 1, 25 },
{ 41, 5296, 1, 25 },
{ 41, 5297, 1, 25 },
{ 41, 5298, 1, 20 },
{ 41, 5299, 1, 25 },
{ 41, 5300, 1, 30 },
{ 41, 5301, 1, 30 },
{ 41, 5302, 1, 25 },
{ 41, 5303, 1, 20 },
{ 41, 5304, 1, 30 },
{ 41, 985, 1, 900 },
{ 41, 526, 1, 0 },
{ 41, 2138, 1, 0 },
{ 41, 314, 5, 10 },
{ 41, 314, 15, 15 },
{ 41, 314, 25, 20 },
{ 41, 314, 35, 25 },
//Frost Dragons
{ 10771, 5291, 1, 10 },
{ 10771, 5292, 1, 15 },
{ 10771, 5293, 1, 15 },
{ 10771, 5294, 1, 15 },
{ 10771, 5295, 1, 25 },
{ 10771, 5296, 1, 25 },
{ 10771, 5297, 1, 25 },
{ 10771, 5298, 1, 20 },
{ 10771, 5299, 1, 25 },
{ 10771, 5300, 1, 30 },
{ 10771, 5301, 1, 30 },
{ 10771, 5302, 1, 25 },
{ 10771, 5303, 1, 20 },
{ 10771, 5304, 1, 30 },
{ 10771, 985, 1, 900 },
{ 10771, 18830, 1, 0 },
{ 10771, 987, 1, 900 },
{ 10771, 1127, 1, 65 },
{ 10771, 892, 50, 35 },
{ 10771, 1147, 1, 35 },
{ 10771, 1202, 1, 30 },
{ 10771, 3101, 1, 45 },
{ 10771, 4132, 1, 50 },
{ 10771, 1275, 1, 55 },
// Yaks
{ 5529, 5291, 1, 10 },
{ 5529, 5292, 1, 15 },
{ 5529, 5293, 1, 15 },
{ 5529, 5294, 1, 15 },
{ 5529, 5295, 1, 25 },
{ 5529, 5296, 1, 25 },
{ 5529, 5297, 1, 25 },
{ 5529, 5298, 1, 20 },
{ 5529, 5299, 1, 25 },
{ 5529, 5300, 1, 30 },
{ 5529, 5301, 1, 30 },
{ 5529, 5302, 1, 15 },
{ 5529, 5303, 1, 20 },
{ 5529, 5304, 1, 30 },
{ 5529, 985, 1, 900 },
{ 5529, 526, 1, 0 },
{ 5529, 987, 1, 900 },
{ 5529, 1127, 1, 25 },
{ 5529, 892, 50, 15 },
{ 5529, 1147, 1, 35 },
{ 5529, 1202, 1, 30 },
{ 5529, 3101, 1, 45 },
{ 5529, 4132, 1, 50 },
{ 5529, 1275, 1, 55 },
//rev imp
{ 6715, 13887, 1, 54150 },
{ 6715, 13893, 1, 54150 },
{ 6715, 13899, 1, 54150 },
{ 6715, 13884, 1, 54150 },
{ 6715, 13890, 1, 54150 },
{ 6715, 13896, 1, 54150 },
{ 6715, 13902, 1, 54150 },
{ 6715, 13858, 1, 54150 },
{ 6715, 13861, 1, 54150 },
{ 6715, 13864, 1, 54150 },
{ 6715, 13870, 1, 54150 },
{ 6715, 13873, 1, 54150 },
{ 6715, 13876, 1, 54150 },
//rev cyclops
{ 6687, 13887, 1, 54150 },
{ 6687, 13893, 1, 54150 },
{ 6687, 13899, 1, 54150 },
{ 6687, 13884, 1, 54150 },
{ 6687, 13890, 1, 54150 },
{ 6687, 13896, 1, 54150 },
{ 6687, 13902, 1, 54150 },
{ 6687, 13858, 1, 54150 },
{ 6687, 13861, 1, 54150 },
{ 6687, 13864, 1, 54150 },
{ 6687, 13870, 1, 54150 },
{ 6687, 13873, 1, 54150 },
{ 6687, 13876, 1, 54150 },
//rev demon
{ 6998, 13887, 1, 54150 },
{ 6998, 13893, 1, 54150 },
{ 6998, 13899, 1, 54150 },
{ 6998, 13884, 1, 54150 },
{ 6998, 13890, 1, 54150 },
{ 6998, 13896, 1, 54150 },
{ 6998, 13902, 1, 54150 },
{ 6998, 13858, 1, 54150 },
{ 6998, 13861, 1, 54150 },
{ 6998, 13864, 1, 54150 },
{ 6998, 13870, 1, 54150 },
{ 6998, 13873, 1, 54150 },
{ 6998, 13876, 1, 54150 },
//rev hellhound
{ 6688, 13887, 1, 54150 },
{ 6688, 13893, 1, 54150 },
{ 6688, 13899, 1, 54150 },
{ 6688, 13884, 1, 54150 },
{ 6688, 13890, 1, 54150 },
{ 6688, 13896, 1, 54150 },
{ 6688, 13902, 1, 54150 },
{ 6688, 13858, 1, 54150 },
{ 6688, 13861, 1, 54150 },
{ 6688, 13864, 1, 54150 },
{ 6688, 13870, 1, 54150 },
{ 6688, 13873, 1, 54150 },
{ 6688, 13876, 1, 54150 },
//rev ork
{ 6713, 13887, 1, 54150 },
{ 6713, 13893, 1, 54150 },
{ 6713, 13899, 1, 54150 },
{ 6713, 13884, 1, 54150 },
{ 6713, 13890, 1, 54150 },
{ 6713, 13896, 1, 54150 },
{ 6713, 13902, 1, 54150 },
{ 6713, 13858, 1, 54150 },
{ 6713, 13861, 1, 54150 },
{ 6713, 13864, 1, 54150 },
{ 6713, 13870, 1, 54150 },
{ 6713, 13873, 1, 54150 },
{ 6713, 13876, 1, 54150 },
//rev dark beast
{ 6691, 13887, 1, 54150 },
{ 6691, 13893, 1, 54150 },
{ 6691, 13899, 1, 54150 },
{ 6691, 13884, 1, 54150 },
{ 6691, 13890, 1, 54150 },
{ 6691, 13896, 1, 54150 },
{ 6691, 13902, 1, 54150 },
{ 6691, 13858, 1, 54150 },
{ 6691, 13861, 1, 54150 },
{ 6691, 13864, 1, 54150 },
{ 6691, 13870, 1, 54150 },
{ 6691, 13873, 1, 54150 },
{ 6691, 13876, 1, 54150 },
//rev knight
{ 6692, 13887, 1, 24150 },
{ 6692, 13893, 1, 54150 },
{ 6692, 13899, 1, 54150 },
{ 6692, 13884, 1, 54150 },
{ 6692, 13890, 1, 54150 },
{ 6692, 13896, 1, 54150 },
{ 6692, 13902, 1, 54150 },
{ 6692, 13858, 1, 54150 },
{ 6692, 13861, 1, 54150 },
{ 6692, 13864, 1, 54150 },
{ 6692, 13870, 1, 54150 },
{ 6692, 13873, 1, 54150 },
{ 6692, 13876, 1, 54150 },
// Graardor
{ 6260, 985, 1, 700 },
{ 6260, 4834, 1, 0 },
{ 6260, 987, 1, 700 },
{ 6260, 960, 1, 700 },
{ 6260, 11710, 1, 750 },
{ 6260, 11712, 1, 750 },
{ 6260, 11714, 1, 750 },
{ 6260, 11704, 1, 2225 },
{ 6260, 11724, 1, 2425 },
{ 6260, 11726, 1, 2425 },
{ 6260, 11728, 1, 2425 },
{ 6260, 1127, 1, 35 },
{ 6260, 892, 150, 5 },
{ 6260, 1147, 1, 45 },
{ 6260, 1202, 1, 30 },
{ 6260, 3101, 1, 15 },
{ 6260, 4132, 1, 40 },
{ 6260, 1275, 1, 60 },
// Kree'Arra
{ 6222, 985, 1, 700 },
{ 6222, 987, 1, 700 },
{ 6222, 314, 100, 0 },
{ 6222, 11710, 1, 750 },
{ 6222, 11712, 1, 750 },
{ 6222, 11714, 1, 750 },
{ 6222, 11702, 1, 2925 },
{ 6222, 11718, 1, 2425 },
{ 6222, 11720, 1, 2425 },
{ 6222, 11722, 1, 2425 },
{ 6222, 1127, 1, 25 },
{ 6222, 892, 150, 15 },
{ 6222, 1147, 1, 35 },
{ 6222, 1202, 1, 40 },
{ 6222, 3101, 1, 45 },
{ 6222, 4132, 1, 50 },
{ 6222, 1275, 1, 60 },
// Commander zylianya
{ 6247, 526, 1, 0 },
{ 6247, 11710, 1, 750 },
{ 6247, 11712, 1, 750 },
{ 6247, 11714, 1, 750 },
{ 6247, 11706, 1, 2525 },
{ 6247, 11730, 1, 1425 },
{ 6247, 1127, 1, 15 },
{ 6247, 892, 150, 25 },
{ 6247, 1147, 1, 35 },
{ 6247, 1202, 1, 40 },
{ 6247, 3101, 1, 45 },
{ 6247, 4132, 1, 50 },
{ 6247, 1275, 1, 30 },
// Kr�l tsutsaroth
{ 6203, 592, 1, 0 },
{ 6203, 11710, 1, 750 },
{ 6203, 11712, 1, 750 },
{ 6203, 11714, 1, 750 },
{ 6203, 11708, 1, 2025 },
{ 6203, 11716, 1, 1625 },
{ 6203, 1127, 1, 15 },
{ 6203, 892, 150, 25 },
{ 6203, 1147, 1, 35 },
{ 6203, 1202, 1, 40 },
{ 6203, 3101, 1, 45 },
{ 6203, 4132, 1, 50 },
{ 6203, 1275, 1, 60 },
// Dagganoth Rex
{ 2883, 985, 1, 700 },
{ 2883, 987, 1, 700 },
{ 2883, 6739, 1, 300 },
{ 2883, 6729, 1, 0 },
{ 2883, 6737, 1, 240 },
{ 2883, 6733, 1, 200 },
{ 2883, 6735, 1, 200 },
{ 2883, 6731, 1, 200 },
{ 2883, 6129, 1, 200 },
{ 2883, 6131, 1, 200 },
{ 2883, 6135, 1, 200 },
{ 2883, 6133, 1, 200 },
{ 2883, 6137, 1, 200 },
{ 2883, 6139, 1, 200 },
{ 2883, 6141, 1, 200 },
{ 2883, 6143, 1, 200 },
{ 2883, 6145, 1, 200 },
{ 2883, 6147, 1, 200 },
{ 2883, 6149, 1, 200 },
{ 2883, 6151, 1, 200 },
{ 2883, 6155, 1, 0 },
{ 2883, 6153, 1, 300 },
{ 2883, 1127, 1, 5 },
{ 2883, 892, 150, 5 },
{ 2883, 1147, 1, 15 },
{ 2883, 1202, 1, 10 },
{ 2883, 3101, 1, 15 },
{ 2883, 4132, 1, 20 },
{ 2883, 1275, 1, 20 },
// Dagganoth Prime
{ 2882, 985, 1, 700 },
{ 2882, 987, 1, 700 },
{ 2882, 6739, 1, 300 },
{ 2882, 6729, 1, 0 },
{ 2882, 6737, 1, 240 },
{ 2882, 6733, 1, 200 },
{ 2882, 6735, 1, 200 },
{ 2882, 6731, 1, 200 },
{ 2882, 6127, 1, 200 },
{ 2882, 6129, 1, 200 },
{ 2882, 6131, 1, 200 },
{ 2882, 6135, 1, 200 },
{ 2882, 6133, 1, 200 },
{ 2882, 6137, 1, 200 },
{ 2882, 6139, 1, 200 },
{ 2882, 6141, 1, 200 },
{ 2882, 6143, 1, 200 },
{ 2882, 6145, 1, 200 },
{ 2882, 6147, 1, 200 },
{ 2882, 6149, 1, 1100 },
{ 2882, 6151, 1, 200 },
{ 2882, 6155, 1, 0 },
{ 2882, 6153, 1, 200 },
{ 2882, 1127, 1, 5 },
{ 2882, 892, 150, 5 },
{ 2882, 1147, 1, 15 },
{ 2882, 1202, 1, 10 },
{ 2882, 3101, 1, 15 },
{ 2882, 4132, 1, 20 },
{ 2882, 1275, 1, 20 },
// Dagganoth Supreme
{ 2881, 985, 1, 700 },
{ 2881, 6739, 1, 300 },
{ 2881, 987, 1, 700 },
{ 2881, 6729, 1, 0 },
{ 2881, 6737, 1, 240 },
{ 2881, 6733, 1, 200 },
{ 2881, 6735, 1, 200 },
{ 2881, 6731, 1, 200 },
{ 2881, 6127, 1, 200 },
{ 2881, 6129, 1, 200 },
{ 2881, 6131, 1, 200 },
{ 2881, 6135, 1, 200 },
{ 2881, 6133, 1, 200 },
{ 2881, 6137, 1, 200 },
{ 2881, 6139, 1, 200 },
{ 2881, 6141, 1, 200 },
{ 2881, 6143, 1, 200 },
{ 2881, 6145, 1, 200 },
{ 2881, 6147, 1, 200 },
{ 2881, 6149, 1, 200 },
{ 2881, 6151, 1, 200 },
{ 2881, 6155, 1, 0 },
{ 2881, 6153, 1, 200 },
{ 2881, 1127, 1, 5 },
{ 2881, 892, 150, 5 },
{ 2881, 1147, 1, 15 },
{ 2881, 1202, 1, 10 },
{ 2881, 3101, 1, 15 },
{ 2881, 4132, 1, 20 },
{ 2881, 1275, 1, 20 },
// King Black Dragon
{ 50, 987, 1, 700 },
{ 50, 987, 1, 700 },
{ 50, 960, 1, 700 },
{ 50, 11286, 1, 1600 },
{ 50, 536, 1, 0 },
{ 50, 385, 2, 3 },
{ 50, 1127, 1, 5 },
{ 50, 85, 1, 1325 },
{ 50, 892, 150, 5 },
{ 50, 1147, 1, 15 },
{ 50, 1202, 1, 10 },
{ 50, 3101, 1, 15 },
{ 50, 4132, 1, 20 },
{ 50, 1275, 1, 20 },
// Chaos Elemental
{ 3200, 987, 1, 700 },
{ 3200, 985, 1, 700 },
{ 3200, 385, 2, 3 },
{ 3200, 592, 1, 0 },
{ 3200, 1127, 1, 5 },
{ 3200, 892, 150, 5 },
{ 3200, 1147, 1, 15 },
{ 3200, 1202, 1, 10 },
{ 3200, 3101, 1, 15 },
{ 3200, 4132, 1, 20 },
{ 3200, 1275, 1, 20 },
{ 3200, 1127, 1, 5 },
{ 3200, 892, 150, 5 },
{ 3200, 1147, 1, 15 },
{ 3200, 1202, 1, 10 },
{ 3200, 3101, 1, 15 },
{ 3200, 4132, 1, 20 },
{ 3200, 1275, 1, 20 },
{ 3200, 7158, 1, 1120 },
// Desert strykewyrms
{ 9465, 5291, 1, 10 },
{ 9465, 5292, 1, 15 },
{ 9465, 5293, 1, 15 },
{ 9465, 5294, 1, 15 },
{ 9465, 5295, 1, 25 },
{ 9465, 5296, 1, 25 },
{ 9465, 5297, 1, 25 },
{ 9465, 5298, 1, 20 },
{ 9465, 5299, 1, 25 },
{ 9465, 5300, 1, 30 },
{ 9465, 5301, 1, 30 },
{ 9465, 5302, 1, 15 },
{ 9465, 5303, 1, 20 },
{ 9465, 5304, 1, 30 },
{ 9465, 985, 1, 700 },
{ 9465, 987, 1, 700 },
{ 9465, 526, 1, 0 },
{ 9465, 1127, 1, 145 },
{ 9465, 892, 150, 325 },
{ 9465, 1147, 1, 115 },
{ 9465, 1202, 1, 210 },
{ 9465, 3101, 1, 315 },
{ 9465, 4131, 1, 120 },
{ 9465, 1275, 1, 120 },
{ 9465, 18778, 1, 1550 },
{ 9465, 18779, 1, 1550 },
{ 9465, 18780, 1, 1550 },
{ 9465, 18781, 1, 1550 },
// Jungle strykewyrms
{ 9467, 5291, 1, 10 },
{ 9467, 5292, 1, 15 },
{ 9467, 5293, 1, 15 },
{ 9467, 5294, 1, 15 },
{ 9467, 5295, 1, 25 },
{ 9467, 5296, 1, 25 },
{ 9467, 5297, 1, 25 },
{ 9467, 5298, 1, 20 },
{ 9467, 5299, 1, 25 },
{ 9467, 5300, 1, 30 },
{ 9467, 5301, 1, 30 },
{ 9467, 5302, 1, 15 },
{ 9467, 5303, 1, 20 },
{ 9467, 5304, 1, 30 },
{ 9467, 985, 1, 700 },
{ 9467, 987, 1, 700 },
{ 9467, 526, 1, 0 },
{ 9467, 1127, 1, 145 },
{ 9467, 892, 150, 325 },
{ 9467, 1147, 1, 115 },
{ 9467, 1202, 1, 210 },
{ 9467, 3101, 1, 315 },
{ 9467, 4131, 1, 120 },
{ 9467, 1275, 1, 120 },
{ 9467, 15488, 1, 1550 },
// Ice strykewyrms
{ 9463, 5291, 1, 10 },
{ 9463, 5292, 1, 15 },
{ 9463, 5293, 1, 15 },
{ 9463, 5294, 1, 15 },
{ 9463, 5295, 1, 25 },
{ 9463, 5296, 1, 25 },
{ 9463, 5297, 1, 25 },
{ 9463, 5298, 1, 20 },
{ 9463, 5299, 1, 25 },
{ 9463, 5300, 1, 30 },
{ 9463, 5301, 1, 30 },
{ 9463, 5302, 1, 15 },
{ 9463, 5303, 1, 20 },
{ 9463, 5304, 1, 30 },
{ 9463, 985, 1, 700 },
{ 9463, 987, 1, 700 },
{ 9463, 526, 1, 0 },
{ 9463, 1127, 1, 145 },
{ 9463, 892, 150, 325 },
{ 9463, 1147, 1, 115 },
{ 9463, 1202, 1, 210 },
{ 9463, 3101, 1, 315 },
{ 9463, 4131, 1, 120 },
{ 9463, 1275, 1, 120 },
{ 9463, 15486, 1, 2250 },
//Glacors
{ 14301, 5291, 1, 10 },
{ 14301, 5292, 1, 15 },
{ 14301, 5293, 1, 15 },
{ 14301, 5294, 1, 15 },
{ 14301, 5295, 1, 25 },
{ 14301, 5296, 1, 25 },
{ 14301, 5297, 1, 25 },
{ 14301, 5298, 1, 20 },
{ 14301, 5299, 1, 25 },
{ 14301, 5300, 1, 30 },
{ 14301, 5301, 1, 30 },
{ 14301, 5302, 1, 15 },
{ 14301, 5303, 1, 20 },
{ 14301, 5304, 1, 30 },
{ 14301, 985, 1, 700 },
{ 14301, 987, 1, 700 },
{ 14301, 526, 1, 0 },
{ 14301, 1127, 1, 145 },
{ 14301, 892, 150, 325 },
{ 14301, 1147, 1, 115 },
{ 14301, 1202, 1, 210 },
{ 14301, 3101, 1, 315 },
{ 14301, 4131, 1, 120 },
{ 14301, 1275, 1, 120 },
{ 14301, 21773, 15, 250 },
{ 14301, 21787, 1, 4250 },
{ 14301, 21790, 1, 4250 },
{ 14301, 21793, 1, 4250 },
//Tormented Demons
{ 8349, 14484, 1, 2925 },
{ 8349, 592, 1, 0 },
{ 8349, 9194, 100, 550 },
{ 8349, 985, 1, 650 },
{ 8349, 987, 1, 650 },
{ 8349, 989, 1, 750 },
{ 8349, 85, 1, 750 },
{ 8349, 14479, 1, 900 },
{ 8349, 6572, 30, 750 },
{ 8349, 4152, 5, 500 },
{ 8349, 1127, 1, 25 },
{ 8349, 892, 150, 35 },
{ 8349, 1147, 1, 55 },
{ 8349, 1202, 1, 40 },
{ 8349, 3101, 1, 35 },
{ 8349, 4132, 1, 20 },
{ 8349, 1275, 1, 30 },
// Green dragon
{ 941, 985, 1, 700 },
{ 941, 987, 1, 700 },
{ 941, 536, 1, 0 },
{ 941, 1753, 1, 0 },
{ 941, 1149, 1, 8 },
{ 941, 1127, 1, 5 },
{ 941, 892, 150, 5 },
{ 941, 1147, 1, 15 },
{ 941, 1202, 1, 10 },
{ 941, 3101, 1, 15 },
{ 941, 4131, 1, 20 },
{ 941, 1275, 1, 20 },
{ 941, 5291, 1, 10 },
{ 941, 5292, 1, 15 },
{ 941, 5293, 1, 15 },
{ 941, 5294, 1, 15 },
{ 941, 5295, 1, 25 },
{ 941, 5296, 1, 25 },
{ 941, 5297, 1, 25 },
{ 941, 5298, 1, 20 },
{ 941, 5299, 1, 25 },
{ 941, 5300, 1, 30 },
{ 941, 5301, 1, 30 },
{ 941, 5302, 1, 15 },
{ 941, 5303, 1, 20 },
{ 941, 5304, 1, 30 },
// Red dragon
{ 53, 985, 1, 700 },
{ 53, 987, 1, 700 },
{ 53, 536, 1, 0 },
{ 53, 1749, 1, 0 },
{ 53, 1149, 1, 8 },
{ 53, 989, 1, 600 },
{ 53, 1127, 1, 5 },
{ 53, 892, 150, 5 },
{ 53, 1147, 1, 15 },
{ 53, 1202, 1, 10 },
{ 53, 3101, 1, 15 },
{ 53, 4131, 1, 20 },
{ 53, 1275, 1, 20 },
{ 53, 5291, 1, 10 },
{ 53, 5292, 1, 15 },
{ 53, 5293, 1, 15 },
{ 53, 5294, 1, 15 },
{ 53, 5295, 1, 25 },
{ 53, 5296, 1, 25 },
{ 53, 5297, 1, 25 },
{ 53, 5298, 1, 20 },
{ 53, 5299, 1, 25 },
{ 53, 5300, 1, 30 },
{ 53, 5301, 1, 30 },
{ 53, 5302, 1, 15 },
{ 53, 5303, 1, 20 },
{ 53, 5304, 1, 30 },
// Blue Dragon
{ 55, 985, 1, 700 },
{ 55, 987, 1, 700 },
{ 55, 536, 1, 0 },
{ 55, 554, 500, 0 },
{ 55, 1751, 1, 0 },
{ 55, 1127, 1, 5 },
{ 55, 892, 150, 5 },
{ 55, 1147, 1, 15 },
{ 55, 1202, 1, 10 },
{ 55, 3101, 1, 15 },
{ 55, 4131, 1, 20 },
{ 55, 1275, 1, 20 },
{ 55, 5291, 1, 10 },
{ 55, 5292, 1, 15 },
{ 55, 5293, 1, 15 },
{ 55, 5294, 1, 15 },
{ 55, 5295, 1, 25 },
{ 55, 5296, 1, 25 },
{ 55, 5297, 1, 25 },
{ 55, 5298, 1, 20 },
{ 55, 5299, 1, 25 },
{ 55, 5300, 1, 30 },
{ 55, 5301, 1, 30 },
{ 55, 5302, 1, 15 },
{ 55, 5303, 1, 20 },
{ 55, 5304, 1, 30 },
// Black Dragon
{ 54, 985, 1, 700 },
{ 54, 987, 1, 700 },
{ 54, 960, 1, 700 },
{ 54, 536, 1, 0 },
{ 54, 1747, 1, 0 },
{ 54, 11286, 1, 2500 },
{ 54, 1149, 1, 8 },
{ 54, 1127, 1, 5 },
{ 54, 892, 150, 5 },
{ 54, 1147, 1, 15 },
{ 54, 1202, 1, 10 },
{ 54, 3101, 1, 15 },
{ 54, 4131, 1, 20 },
{ 54, 1275, 1, 20 },
{ 54, 5291, 1, 10 },
{ 54, 5292, 1, 15 },
{ 54, 5293, 1, 15 },
{ 54, 5294, 1, 15 },
{ 54, 5295, 1, 25 },
{ 54, 5296, 1, 25 },
{ 54, 5297, 1, 25 },
{ 54, 5298, 1, 20 },
{ 54, 5299, 1, 25 },
{ 54, 5300, 1, 30 },
{ 54, 5301, 1, 30 },
{ 54, 5302, 1, 15 },
{ 54, 5303, 1, 20 },
{ 54, 5304, 1, 30 },
// Baby Blue Dragon
{ 52, 5291, 1, 10 },
{ 52, 5292, 1, 15 },
{ 52, 5293, 1, 15 },
{ 52, 5294, 1, 15 },
{ 52, 5295, 1, 25 },
{ 52, 5296, 1, 25 },
{ 52, 5297, 1, 25 },
{ 52, 5298, 1, 20 },
{ 52, 5299, 1, 25 },
{ 52, 5300, 1, 30 },
{ 52, 5301, 1, 30 },
{ 52, 5302, 1, 15 },
{ 52, 5303, 1, 20 },
{ 52, 5304, 1, 30 },
{ 52, 985, 1, 700 },
{ 52, 987, 1, 700 },
{ 52, 534, 1, 0 },
{ 52, 554, 500, 0 },
{ 52, 1127, 1, 5 },
{ 52, 892, 150, 5 },
{ 52, 1147, 1, 15 },
{ 52, 1202, 1, 10 },
{ 52, 3101, 1, 15 },
{ 52, 4131, 1, 20 },
{ 52, 1275, 1, 20 },
// Steel Dragon
{ 1592, 5291, 1, 10 },
{ 1592, 5292, 1, 15 },
{ 1592, 5293, 1, 15 },
{ 1592, 5294, 1, 15 },
{ 1592, 5295, 1, 25 },
{ 1592, 5296, 1, 25 },
{ 1592, 5297, 1, 25 },
{ 1592, 5298, 1, 20 },
{ 1592, 5299, 1, 25 },
{ 1592, 5300, 1, 30 },
{ 1592, 5301, 1, 30 },
{ 1592, 5302, 1, 15 },
{ 1592, 5303, 1, 20 },
{ 1592, 5304, 1, 30 },
{ 1592, 985, 1, 700 },
{ 1592, 987, 1, 700 },
{ 1592, 536, 1, 0 },
{ 1592, 2353, 5, 0 },
{ 1592, 11286, 1, 1900 },
{ 1592, 1127, 1, 5 },
{ 1592, 4087, 1, 1350 },
{ 1592, 4585, 1, 1350 },
{ 1592, 892, 150, 5 },
{ 1592, 1147, 1, 15 },
{ 1592, 1202, 1, 10 },
{ 1592, 3101, 1, 15 },
{ 1592, 4131, 1, 20 },
{ 1592, 1275, 1, 20 },
// Iron Dragon
{ 1591, 5291, 1, 10 },
{ 1591, 5292, 1, 15 },
{ 1591, 5293, 1, 15 },
{ 1591, 5294, 1, 15 },
{ 1591, 5295, 1, 25 },
{ 1591, 5296, 1, 25 },
{ 1591, 5297, 1, 25 },
{ 1591, 5298, 1, 20 },
{ 1591, 5299, 1, 25 },
{ 1591, 5300, 1, 30 },
{ 1591, 5301, 1, 30 },
{ 1591, 5302, 1, 15 },
{ 1591, 5303, 1, 20 },
{ 1591, 5304, 1, 30 },
{ 1591, 985, 1, 700 },
{ 1591, 987, 1, 700 },
{ 1591, 536, 1, 0 },
{ 1591, 2351, 5, 0 },
{ 1591, 4087, 1, 1350 },
{ 1591, 4585, 1, 1350 },
{ 1591, 11286, 1, 1900 },
{ 1591, 1127, 1, 5 },
{ 1591, 892, 150, 5 },
{ 1591, 1147, 1, 15 },
{ 1591, 1202, 1, 10 },
{ 1591, 3101, 1, 15 },
{ 1591, 4131, 1, 20 },
{ 1591, 1275, 1, 20 },
// Bronze Dragon
{ 1590, 5291, 1, 10 },
{ 1590, 5292, 1, 15 },
{ 1590, 5293, 1, 15 },
{ 1590, 5294, 1, 15 },
{ 1590, 5295, 1, 25 },
{ 1590, 5296, 1, 25 },
{ 1590, 5297, 1, 25 },
{ 1590, 5298, 1, 20 },
{ 1590, 5299, 1, 25 },
{ 1590, 5300, 1, 30 },
{ 1590, 5301, 1, 30 },
{ 1590, 5302, 1, 15 },
{ 1590, 5303, 1, 20 },
{ 1590, 5304, 1, 30 },
{ 1590, 985, 1, 700 },
{ 1590, 987, 1, 700 },
{ 1590, 536, 1, 0 },
{ 1590, 2349, 5, 0 },
{ 1590, 4087, 1, 1350 },
{ 1590, 4585, 1, 1350 },
{ 1590, 11286, 1, 1900 },
{ 1590, 1127, 1, 55 },
{ 1590, 892, 150, 45 },
{ 1590, 1147, 1, 35 },
{ 1590, 1202, 1, 30 },
{ 1590, 3101, 1, 25 },
{ 1590, 4131, 1, 40 },
{ 1590, 1275, 1, 50 },
// Mithrill Dragon
{ 5363, 5291, 1, 10 },
{ 5363, 5292, 1, 15 },
{ 5363, 5293, 1, 15 },
{ 5363, 5294, 1, 15 },
{ 5363, 5295, 1, 25 },
{ 5363, 5296, 1, 25 },
{ 5363, 5297, 1, 25 },
{ 5363, 5298, 1, 20 },
{ 5363, 5299, 1, 25 },
{ 5363, 5300, 1, 30 },
{ 5363, 5301, 1, 30 },
{ 5363, 5302, 1, 15 },
{ 5363, 5303, 1, 20 },
{ 5363, 5304, 1, 30 },
{ 5363, 985, 1, 700 },
{ 5363, 987, 1, 700 },
{ 5363, 536, 1, 0 },
{ 5363, 2359, 3, 0 },
{ 5363, 11286, 1, 1500 },
{ 5363, 1127, 1, 35 },
{ 5363, 4087, 1, 1350 },
{ 5363, 4585, 1, 1350 },
{ 5363, 892, 150, 65 },
{ 5363, 1147, 1, 25 },
{ 5363, 1202, 1, 70 },
{ 5363, 3101, 1, 45 },
{ 5363, 4132, 1, 80 },
{ 5363, 1275, 1, 60 },
{ 5363, 11335, 1, 600 },
{ 5363, 11338, 1, 1500 },
{ 5363, 6575, 1, 1500 },
// Tzhaar Ket Om
{ 2608, 5291, 1, 10 },
{ 2608, 5292, 1, 15 },
{ 2608, 5293, 1, 15 },
{ 2608, 5294, 1, 15 },
{ 2608, 5295, 1, 25 },
{ 2608, 5296, 1, 25 },
{ 2608, 5297, 1, 25 },
{ 2608, 5298, 1, 20 },
{ 2608, 5299, 1, 25 },
{ 2608, 5300, 1, 30 },
{ 2608, 5301, 1, 30 },
{ 2608, 5302, 1, 15 },
{ 2608, 5303, 1, 20 },
{ 2608, 5304, 1, 30 },
{ 2608, 6585, 1, 1700 },
{ 2608, 985, 1, 700 },
{ 2608, 987, 1, 700 },
{ 2608, 9194, 1, 100 },
{ 2608, 6571, 1, 450 },
{ 2608, 6527, 1, 450 },
{ 2608, 6528, 1, 450 },
{ 2608, 11128, 1, 450 },
{ 2608, 6523, 1, 450 },
{ 2608, 6524, 1, 450 },
{ 2608, 6532, 1, 450 },
{ 2608, 1127, 1, 45 },
{ 2608, 892, 150, 35 },
{ 2608, 1147, 1, 25 },
{ 2608, 1202, 1, 30 },
{ 2608, 3101, 1, 45 },
{ 2608, 4131, 1, 30 },
{ 2608, 1275, 1, 40 },
// Greater Demon
{ 83, 985, 1, 700 },
{ 83, 987, 1, 700 },
{ 83, 526, 1, 0 },
{ 83, 2349, 5, 0 },
{ 83, 1127, 1, 25 },
{ 83, 892, 150, 35 },
{ 83, 1147, 1, 45 },
{ 83, 1202, 1, 40 },
{ 83, 3101, 1, 65 },
{ 83, 4131, 1, 50 },
{ 83, 1275, 1, 70 },
{ 83, 5291, 1, 10 },
{ 83, 5292, 1, 15 },
{ 83, 5293, 1, 15 },
{ 83, 5294, 1, 15 },
{ 83, 5295, 1, 25 },
{ 83, 5296, 1, 25 },
{ 83, 5297, 1, 25 },
{ 83, 5298, 1, 20 },
{ 83, 5299, 1, 25 },
{ 83, 5300, 1, 30 },
{ 83, 5301, 1, 30 },
{ 83, 5302, 1, 15 },
{ 83, 5303, 1, 20 },
{ 83, 5304, 1, 30 },
// Moss Giant
{ 112, 985, 1, 700 },
{ 112, 987, 1, 700 },
{ 112, 532, 1, 0 },
{ 112, 561, 500, 0 },
{ 112, 1127, 1, 65 },
{ 112, 892, 150, 55 },
{ 112, 1147, 1, 45 },
{ 112, 1202, 1, 30 },
{ 112, 3101, 1, 25 },
{ 112, 4131, 1, 70 },
{ 112, 1275, 1, 30 },
{ 112, 5291, 1, 10 },
{ 112, 5292, 1, 15 },
{ 112, 5293, 1, 15 },
{ 112, 5294, 1, 15 },
{ 112, 5295, 1, 25 },
{ 112, 5296, 1, 25 },
{ 112, 5297, 1, 25 },
{ 112, 5298, 1, 20 },
{ 112, 5299, 1, 25 },
{ 112, 5300, 1, 30 },
{ 112, 5301, 1, 30 },
{ 112, 5302, 1, 15 },
{ 112, 5303, 1, 20 },
{ 112, 5304, 1, 30 },
// Fire Giant
{ 110, 985, 1, 700 },
{ 110, 987, 1, 700 },
{ 110, 532, 1, 0 },
{ 110, 554, 500, 0 },
{ 110, 1127, 1, 85 },
{ 110, 892, 150, 75 },
{ 110, 1147, 1, 65 },
{ 110, 1202, 1, 50 },
{ 110, 3101, 1, 45 },
{ 110, 4131, 1, 30 },
{ 110, 1275, 1, 20 },
{ 110, 5291, 1, 10 },
{ 110, 5292, 1, 15 },
{ 110, 5293, 1, 15 },
{ 110, 5294, 1, 15 },
{ 110, 5295, 1, 25 },
{ 110, 5296, 1, 25 },
{ 110, 5297, 1, 25 },
{ 110, 5298, 1, 20 },
{ 110, 5299, 1, 25 },
{ 110, 5300, 1, 30 },
{ 110, 5301, 1, 30 },
{ 110, 5302, 1, 15 },
{ 110, 5303, 1, 20 },
{ 110, 5304, 1, 30 },
// Goblin
{ 101, 5291, 1, 10 },
{ 101, 5292, 1, 15 },
{ 101, 5293, 1, 15 },
{ 101, 5294, 1, 15 },
{ 101, 5295, 1, 25 },
{ 101, 5296, 1, 25 },
{ 101, 5297, 1, 25 },
{ 101, 5298, 1, 20 },
{ 101, 5299, 1, 25 },
{ 101, 5300, 1, 30 },
{ 101, 5301, 1, 30 },
{ 101, 5302, 1, 15 },
{ 101, 5303, 1, 20 },
{ 101, 5304, 1, 30 },
{ 101, 985, 1, 700 },
{ 101, 987, 1, 700 },
{ 101, 526, 1, 0 },
{ 101, 1127, 1, 105 },
{ 101, 892, 150, 85 },
{ 101, 1147, 1, 95 },
{ 101, 1202, 1, 70 },
{ 101, 3101, 1, 65 },
{ 101, 4131, 1, 50 },
{ 101, 1275, 1, 30 },
// Dust Devil
{ 1624, 5291, 1, 10 },
{ 1624, 5292, 1, 15 },
{ 1624, 5293, 1, 15 },
{ 1624, 5294, 1, 15 },
{ 1624, 5295, 1, 25 },
{ 1624, 5296, 1, 25 },
{ 1624, 5297, 1, 25 },
{ 1624, 5298, 1, 20 },
{ 1624, 5299, 1, 25 },
{ 1624, 5300, 1, 30 },
{ 1624, 5301, 1, 30 },
{ 1624, 5302, 1, 15 },
{ 1624, 5303, 1, 20 },
{ 1624, 5304, 1, 30 },
{ 1624, 985, 1, 700 },
{ 1624, 987, 1, 700 },
{ 1624, 3140, 1, 700 },
{ 1624, 526, 1, 0 },
{ 1624, 1127, 1, 85 },
{ 1624, 892, 150, 75 },
{ 1624, 1147, 1, 55 },
{ 1624, 1202, 1, 60 },
{ 1624, 3101, 1, 45 },
{ 1624, 4131, 1, 30 },
{ 1624, 1275, 1, 20 },
// Infernal Mage
{ 1643, 985, 1, 700 },
{ 1643, 987, 1, 700 },
{ 1643, 526, 1, 0 },
// Corporal Beast
{ 8133, 5291, 1, 10 },
{ 8133, 5292, 1, 15 },
{ 8133, 5293, 1, 15 },
{ 8133, 5294, 1, 15 },
{ 8133, 5295, 1, 25 },
{ 8133, 5296, 1, 25 },
{ 8133, 5297, 1, 25 },
{ 8133, 5298, 1, 20 },
{ 8133, 5299, 1, 25 },
{ 8133, 5300, 1, 30 },
{ 8133, 5301, 1, 30 },
{ 8133, 5302, 1, 15 },
{ 8133, 5303, 1, 20 },
{ 8133, 5304, 1, 30 },
{ 8133, 985, 1, 700 },
{ 8133, 987, 1, 700 },
{ 8133, 13746, 1, 7700 },
{ 8133, 13748, 1, 7700 },
{ 8133, 13750, 1, 7700 },
{ 8133, 13752, 1, 7700 },
{ 8133, 13754, 1, 2700 },
{ 8133, 13734, 1, 1700 },
{ 8133, 526, 1, 0 },
{ 8133, 9194, 100, 550 },
{ 8133, 989, 1, 750 },
{ 8133, 14479, 1, 900 },
{ 8133, 6572, 30, 750 },
{ 8133, 4152, 5, 500 },
{ 8133, 1127, 1, 25 },
{ 8133, 892, 150, 35 },
{ 8133, 1147, 1, 55 },
{ 8133, 3101, 1, 35 },
{ 8133, 4132, 1, 20 },
{ 8133, 1275, 1, 30 },
// barellchest
{ 5666, 5291, 1, 10 },
{ 5666, 5292, 1, 15 },
{ 5666, 5293, 1, 15 },
{ 5666, 5294, 1, 15 },
{ 5666, 5295, 1, 25 },
{ 5666, 5296, 1, 25 },
{ 5666, 5297, 1, 25 },
{ 5666, 5298, 1, 20 },
{ 5666, 5299, 1, 25 },
{ 5666, 5300, 1, 30 },
{ 5666, 5301, 1, 30 },
{ 5666, 5302, 1, 15 },
{ 5666, 5303, 1, 20 },
{ 5666, 5304, 1, 30 },
{ 5666, 10887, 1, 2000 },
{ 5666, 985, 1, 700 },
{ 5666, 987, 1, 700 },
{ 5666, 532, 1, 0 },
{ 5666, 1127, 1, 55 },
{ 5666, 892, 150, 45 },
{ 5666, 1147, 1, 35 },
{ 5666, 1202, 1, 70 },
{ 5666, 3101, 1, 75 },
{ 5666, 4132, 1, 80 },
{ 5666, 1275, 1, 50 },
// Abyssal Demon
{ 1615, 5291, 1, 10 },
{ 1615, 5292, 1, 15 },
{ 1615, 9244, 25, 120 },
{ 1615, 5293, 1, 15 },
{ 1615, 5294, 1, 15 },
{ 1615, 5295, 1, 25 },
{ 1615, 5296, 1, 25 },
{ 1615, 5297, 1, 25 },
{ 1615, 5298, 1, 20 },
{ 1615, 5299, 1, 25 },
{ 1615, 5300, 1, 30 },
{ 1615, 5301, 1, 30 },
{ 1615, 5302, 1, 15 },
{ 1615, 5303, 1, 20 },
{ 1615, 5304, 1, 30 },
{ 1615, 985, 1, 700 },
{ 1615, 987, 1, 700 },
{ 1615, 526, 1, 0 },
{ 1615, 1127, 1, 35 },
{ 1615, 4151, 1, 1349 },
{ 1615, 892, 150, 35 },
{ 1615, 1147, 1, 45 },
{ 1615, 1202, 1, 50 },
{ 1615, 3101, 1, 75 },
{ 1615, 4131, 1, 40 },
{ 1615, 1275, 1, 20 },
// Dark Beast
{ 2783, 11212, 10, 50 },
{ 2783, 5291, 1, 10 },
{ 2783, 5292, 1, 15 },
{ 2783, 5293, 1, 15 },
{ 2783, 5294, 1, 15 },
{ 2783, 5295, 1, 25 },
{ 2783, 5296, 1, 25 },
{ 2783, 5297, 1, 25 },
{ 2783, 5298, 1, 20 },
{ 2783, 5299, 1, 25 },
{ 2783, 5300, 1, 30 },
{ 2783, 5301, 1, 30 },
{ 2783, 5302, 1, 15 },
{ 2783, 5303, 1, 20 },
{ 2783, 5304, 1, 30 },
{ 2783, 985, 1, 700 },
{ 2783, 987, 1, 700 },
{ 2783, 526, 1, 0 },
{ 2783, 11235, 1, 1400 },
{ 2783, 1127, 1, 45 },
{ 2783, 892, 150, 55 },
{ 2783, 1147, 1, 35 },
{ 2783, 1202, 1, 70 },
{ 2783, 3101, 1, 15 },
{ 2783, 4131, 1, 30 },
{ 2783, 1275, 1, 20 },
// Rock Crab
{ 1265, 5291, 1, 10 },
{ 1265, 5292, 1, 15 },
{ 1265, 5293, 1, 15 },
{ 1265, 5294, 1, 15 },
{ 1265, 5295, 1, 25 },
{ 1265, 5296, 1, 25 },
{ 1265, 5297, 1, 25 },
{ 1265, 5298, 1, 20 },
{ 1265, 5299, 1, 25 },
{ 1265, 5300, 1, 30 },
{ 1265, 5301, 1, 30 },
{ 1265, 5302, 1, 15 },
{ 1265, 5303, 1, 20 },
{ 1265, 5304, 1, 30 },
{ 1265, 985, 1, 700 },
{ 1265, 987, 1, 700 },
{ 1265, 526, 1, 0 },
{ 1265, 1127, 1, 145 },
{ 1265, 892, 150, 325 },
{ 1265, 1147, 1, 115 },
{ 1265, 1202, 1, 210 },
{ 1265, 3101, 1, 315 },
{ 1265, 4131, 1, 120 },
{ 1265, 1275, 1, 120 },
// Crawling Hand
{ 1648, 5291, 1, 10 },
{ 1648, 5292, 1, 15 },
{ 1648, 5293, 1, 15 },
{ 1648, 5294, 1, 15 },
{ 1648, 5295, 1, 25 },
{ 1648, 5296, 1, 25 },
{ 1648, 5297, 1, 25 },
{ 1648, 5298, 1, 20 },
{ 1648, 5299, 1, 25 },
{ 1648, 5300, 1, 30 },
{ 1648, 5301, 1, 30 },
{ 1648, 5302, 1, 15 },
{ 1648, 5303, 1, 20 },
{ 1648, 5304, 1, 30 },
{ 1648, 985, 1, 700 },
{ 1648, 987, 1, 700 },
{ 1648, 526, 1, 0 },
{ 1648, 1127, 1, 105 },
{ 1648, 892, 150, 235 },
{ 1648, 1147, 1, 315 },
{ 1648, 1202, 1, 410 },
{ 1648, 3101, 1, 115 },
{ 1648, 4131, 1, 220 },
{ 1648, 1275, 1, 120 },
// Banshee
{ 1612, 5291, 1, 10 },
{ 1612, 5292, 1, 15 },
{ 1612, 5293, 1, 15 },
{ 1612, 5294, 1, 15 },
{ 1612, 5295, 1, 25 },
{ 1612, 5296, 1, 25 },
{ 1612, 5297, 1, 25 },
{ 1612, 5298, 1, 20 },
{ 1612, 5299, 1, 25 },
{ 1612, 5300, 1, 30 },
{ 1612, 5301, 1, 30 },
{ 1612, 5302, 1, 15 },
{ 1612, 5303, 1, 20 },
{ 1612, 5304, 1, 30 },
{ 1612, 985, 1, 700 },
{ 1612, 987, 1, 700 },
{ 1612, 526, 1, 0 },
{ 1612, 1127, 1, 95 },
{ 1612, 892, 150, 85 },
{ 1612, 1147, 1, 75 },
{ 1612, 1202, 1, 60 },
{ 1612, 3101, 1, 55 },
{ 1612, 4131, 1, 60 },
{ 1612, 1275, 1, 70 },
// Bloodveld
{ 1618, 5291, 1, 10 },
{ 1618, 5292, 1, 15 },
{ 1618, 5293, 1, 15 },
{ 1618, 5294, 1, 15 },
{ 1618, 5295, 1, 25 },
{ 1618, 5296, 1, 25 },
{ 1618, 5297, 1, 25 },
{ 1618, 5298, 1, 20 },
{ 1618, 5299, 1, 25 },
{ 1618, 5300, 1, 30 },
{ 1618, 5301, 1, 30 },
{ 1618, 5302, 1, 15 },
{ 1618, 5303, 1, 20 },
{ 1618, 5304, 1, 30 },
{ 1618, 985, 1, 700 },
{ 1618, 987, 1, 700 },
{ 1618, 526, 1, 0 },
{ 1618, 1127, 1, 85 },
{ 1618, 892, 150, 95 },
{ 1618, 1147, 1, 75 },
{ 1618, 1202, 1, 60 },
{ 1618, 3101, 1, 55 },
{ 1618, 4131, 1, 40 },
{ 1618, 1275, 1, 30 },
// Gargoyle
{ 1610, 5291, 1, 10 },
{ 1610, 5292, 1, 15 },
{ 1610, 5293, 1, 15 },
{ 1610, 5294, 1, 15 },
{ 1610, 5295, 1, 25 },
{ 1610, 5296, 1, 25 },
{ 1610, 5297, 1, 25 },
{ 1610, 5298, 1, 20 },
{ 1610, 5299, 1, 25 },
{ 1610, 5300, 1, 30 },
{ 1610, 5301, 1, 30 },
{ 1610, 5302, 1, 15 },
{ 1610, 5303, 1, 20 },
{ 1610, 5304, 1, 30 },
{ 1610, 985, 1, 700 },
{ 1610, 987, 1, 700 },
{ 1610, 4153, 1, 300 },
{ 1610, 526, 1, 0 },
{ 1610, 1127, 1, 105 },
{ 1610, 892, 150, 95 },
{ 1610, 1147, 1, 115 },
{ 1610, 1202, 1, 90 },
{ 1610, 3101, 1, 85 },
{ 1610, 4131, 1, 70 },
{ 1610, 1275, 1, 60 },
// Dagganoth
{ 1341, 5291, 1, 10 },
{ 1341, 5292, 1, 15 },
{ 1341, 5293, 1, 15 },
{ 1341, 5294, 1, 15 },
{ 1341, 5295, 1, 25 },
{ 1341, 5296, 1, 25 },
{ 1341, 5297, 1, 25 },
{ 1341, 5298, 1, 20 },
{ 1341, 5299, 1, 25 },
{ 1341, 5300, 1, 30 },
{ 1341, 5301, 1, 30 },
{ 1341, 5302, 1, 15 },
{ 1341, 5303, 1, 20 },
{ 1341, 5304, 1, 30 },
{ 1341, 987, 1, 700 },
{ 1341, 987, 1, 700 },
{ 1341, 526, 1, 0 },
{ 1341, 1127, 1, 85 },
{ 1341, 892, 150, 75 },
{ 1341, 1147, 1, 65 },
{ 1341, 1202, 1, 50 },
{ 1341, 3101, 1, 45 },
{ 1341, 4132, 1, 30 },
{ 1341, 1275, 1, 20 },
// Nechreal
{ 1613, 5291, 1, 10 },
{ 1613, 5292, 1, 15 },
{ 1613, 5293, 1, 15 },
{ 1613, 5294, 1, 15 },
{ 1613, 5295, 1, 25 },
{ 1613, 5296, 1, 25 },
{ 1613, 5297, 1, 25 },
{ 1613, 5298, 1, 20 },
{ 1613, 5299, 1, 25 },
{ 1613, 5300, 1, 30 },
{ 1613, 5301, 1, 30 },
{ 1613, 5302, 1, 15 },
{ 1613, 5303, 1, 20 },
{ 1613, 5304, 1, 30 },
{ 1613, 985, 1, 700 },
{ 1613, 987, 1, 700 },
{ 1613, 526, 1, 0 },
{ 1613, 11732, 1, 300 },
{ 1613, 1127, 1, 95 },
{ 1613, 892, 150, 85 },
{ 1613, 1147, 1, 75 },
{ 1613, 1202, 1, 60 },
{ 1613, 3101, 1, 55 },
{ 1613, 4132, 1, 40 },
{ 1613, 1275, 1, 30 },
// Zombie Champion
{ 3066, 985, 1, 700 },
{ 3066, 987, 1, 700 },
{ 3066, 532, 1, 0 },
{ 3066, 1127, 1, 95 },
{ 3066, 892, 150, 85 },
{ 3066, 1147, 1, 75 },
{ 3066, 1202, 1, 60 },
{ 3066, 3101, 1, 55 },
{ 3066, 4132, 1, 40 },
{ 3066, 1275, 1, 30 },
{ 3066, 15662, 1, 13200 },
// Wingman Skree
{ 6223, 526, 1, 0 },
{ 6223, 11718, 1, 2700 },
{ 6223, 11720, 1, 2700 },
{ 6223, 11722, 1, 2700 },
{ 6223, 11710, 1, 750 },
{ 6223, 11712, 1, 750 },
{ 6223, 11714, 1, 750 },
{ 6223, 1127, 1, 95 },
{ 6223, 892, 150, 85 },
{ 6223, 1147, 1, 75 },
{ 6223, 1202, 1, 60 },
{ 6223, 3101, 1, 55 },
{ 6223, 4132, 1, 40 },
{ 6223, 1275, 1, 30 },
// Flockleader Geerin
{ 6225, 526, 1, 0 },
{ 6225, 11718, 1, 2700 },
{ 6225, 11720, 1, 2700 },
{ 6225, 11722, 1, 2700 },
{ 6225, 11710, 1, 650 },
{ 6225, 11712, 1, 650 },
{ 6225, 11714, 1, 650 },
{ 6225, 1127, 1, 95 },
{ 6225, 892, 150, 85 },
{ 6225, 1147, 1, 75 },
{ 6225, 1202, 1, 60 },
{ 6225, 3101, 1, 55 },
{ 6225, 4132, 1, 40 },
{ 6225, 1275, 1, 30 },
// Flight Kilisa
{ 6227, 526, 1, 0 },
{ 6227, 11718, 1, 2700 },
{ 6227, 11720, 1, 2700 },
{ 6227, 11722, 1, 2700 },
{ 6227, 11710, 1, 650 },
{ 6227, 11712, 1, 650 },
{ 6227, 11714, 1, 650 },
{ 6227, 1127, 1, 95 },
{ 6227, 892, 150, 85 },
{ 6227, 1147, 1, 75 },
{ 6227, 1202, 1, 60 },
{ 6227, 3101, 1, 55 },
{ 6227, 4132, 1, 40 },
{ 6227, 1275, 1, 30 },
// Starlight
{ 6248, 526, 1, 0 },
{ 6248, 2615, 1, 540 },
{ 6248, 2617, 1, 610 },
{ 6248, 985, 1, 630 },
{ 6248, 987, 1, 645 },
{ 6248, 11730, 1, 1534 },
{ 6248, 11710, 1, 650 },
{ 6248, 11712, 1, 650 },
{ 6248, 11714, 1, 650 },
{ 6248, 1127, 1, 75 },
{ 6248, 892, 150, 65 },
{ 6248, 1147, 1, 55 },
{ 6248, 1202, 1, 40 },
{ 6248, 3101, 1, 35 },
{ 6248, 4132, 1, 50 },
{ 6248, 1275, 1, 20 },
// Growler
{ 6250, 526, 1, 0 },
{ 6250, 2615, 1, 540 },
{ 6250, 2617, 1, 510 },
{ 6250, 985, 1, 630 },
{ 6250, 987, 1, 645 },
{ 6250, 11730, 1, 1634 },
{ 6250, 11710, 1, 650 },
{ 6250, 11712, 1, 650 },
{ 6250, 11714, 1, 650 },
{ 6250, 1127, 1, 85 },
{ 6250, 892, 150, 75 },
{ 6250, 1147, 1, 65 },
{ 6250, 1202, 1, 90 },
{ 6250, 3101, 1, 55 },
{ 6250, 4132, 1, 40 },
{ 6250, 1275, 1, 30 },
// Bree
{ 6252, 526, 1, 0 },
{ 6252, 2615, 1, 640 },
{ 6252, 2617, 1, 610 },
{ 6252, 985, 1, 630 },
{ 6252, 987, 1, 645 },
{ 6252, 11730, 1, 1534 },
{ 6252, 2572, 1, 1234 },
{ 6252, 11710, 1, 650 },
{ 6252, 11712, 1, 650 },
{ 6252, 11714, 1, 650 },
{ 6252, 1127, 1, 95 },
{ 6252, 892, 150, 85 },
{ 6252, 1147, 1, 75 },
{ 6252, 1202, 1, 60 },
{ 6252, 3101, 1, 55 },
{ 6252, 4132, 1, 40 },
{ 6252, 1275, 1, 30 },
// Seargeant Strongsack
{ 6261, 526, 1, 0 },
{ 6261, 2615, 1, 640 },
{ 6261, 2617, 1, 610 },
{ 6261, 985, 1, 630 },
{ 6261, 987, 1, 645 },
{ 6261, 11710, 1, 650 },
{ 6261, 11712, 1, 650 },
{ 6261, 11714, 1, 650 },
{ 6261, 11724, 1, 2700 },
{ 6261, 11726, 1, 2700 },
{ 6261, 1127, 1, 95 },
{ 6261, 892, 150, 85 },
{ 6261, 1147, 1, 75 },
{ 6261, 1202, 1, 60 },
{ 6261, 3101, 1, 55 },
{ 6261, 4132, 1, 40 },
{ 6261, 1275, 1, 20 },
// Seargeant Steelwill
{ 6263, 526, 1, 0 },
{ 6263, 2615, 1, 640 },
{ 6263, 2617, 1, 610 },
{ 6263, 985, 1, 630 },
{ 6263, 987, 1, 645 },
{ 6263, 11710, 1, 650 },
{ 6263, 11712, 1, 650 },
{ 6263, 11714, 1, 650 },
{ 6263, 11724, 1, 2700 },
{ 6263, 11726, 1, 2700 },
{ 6263, 1127, 1, 95 },
{ 6263, 892, 150, 85 },
{ 6263, 1147, 1, 75 },
{ 6263, 1202, 1, 60 },
{ 6263, 3101, 1, 55 },
{ 6263, 4132, 1, 40 },
{ 6263, 1275, 1, 20 },
// Sergeant Grimspike
{ 6265, 526, 1, 0 },
{ 6265, 2615, 1, 640 },
{ 6265, 2617, 1, 610 },
{ 6265, 985, 1, 630 },
{ 6265, 987, 1, 645 },
{ 6265, 11710, 1, 650 },
{ 6265, 11712, 1, 650 },
{ 6265, 11714, 1, 650 },
{ 6265, 11724, 1, 2700 },
{ 6265, 11726, 1, 2700 },
{ 6265, 1127, 1, 95 },
{ 6265, 892, 150, 85 },
{ 6265, 1147, 1, 75 },
{ 6265, 1202, 1, 50 },
{ 6265, 3101, 1, 55 },
{ 6265, 4132, 1, 40 },
{ 6265, 1275, 1, 20 },
// Men
{ 100, 530, 1, 0 },
// Giant Mole
{ 3340, 985, 1, 700 }, { 3340, 987, 1, 700 },
{ 3340, 7416, 2, 0 }, { 3340, 7418, 1, 0 }, { 3340, 1149, 1, 8 },
{ 3340, 85, 1, 1600 }, { 3340, 11283, 1, 1100 }, { 3340, 1127, 1, 5 }, { 3340, 892, 150, 5 },
{ 3340, 1147, 1, 15 }, { 3340, 1202, 1, 10 }, { 3340, 3101, 1, 15 }, { 3340, 4131, 1, 20 },
{ 3340, 1275, 1, 20 },
// Skeletal Wyvern
{ 3068, 985, 1, 700 },
{ 3068, 987, 1, 700 },
{ 3068, 6812, 1, 0 },
{ 3068, 6811, 1, 540 },
{ 3068, 1127, 1, 35 },
{ 3068, 892, 150, 55 },
{ 3068, 1147, 1, 35 },
{ 3068, 1202, 1, 20 },
{ 3068, 3101, 1, 15 },
{ 3068, 4132, 1, 50 },
{ 3068, 1275, 1, 30 },
{ 3068, 11286, 1, 1100 },
{ 3068, 9193, 100, 450 },
{ 3068, 9194, 100, 650 },
{ 3068, 9144, 200, 350 },
{ 3068, 452, 100, 500 },
{ 3068, 2364, 100, 650 },
{ 3068, 14479, 1, 1200 },
{ 3068, 6809, 1, 300 },};
}
I am getting the attached error on building the examples. I have gradle.properties file in grpc-javaexamples folder that has one property , which is skipCodegen=true
C:gRPCgrpc-javaexamples>gradlew build --stacktrace
:extractIncludeProto UP-TO-DATE
:extractProto UP-TO-DATE
:generateProto UP-TO-DATE
:compileJava
C:gRPCgrpc-javaexamplessrcmainjavaiogrpcexamplesrouteguideRouteGuideServer.java:299: error: illegal character: 'u2020'
double φ1 = toRadians(lat1);
^
C:gRPCgrpc-javaexamplessrcmainjavaiogrpcexamplesrouteguideRouteGuideServer.java:300: error: illegal character: 'u2020'
double φ2 = toRadians(lat2);
^
C:gRPCgrpc-javaexamplessrcmainjavaiogrpcexamplesrouteguideRouteGuideServer.java:301: error: illegal character: 'u201d'
double Δφ = toRadians(lat2 - lat1);
^
C:gRPCgrpc-javaexamplessrcmainjavaiogrpcexamplesrouteguideRouteGuideServer.java:301: error: illegal character: 'u2020'
double Δφ = toRadians(lat2 - lat1);
^
C:gRPCgrpc-javaexamplessrcmainjavaiogrpcexamplesrouteguideRouteGuideServer.java:301: error: not a statement
double Δφ = toRadians(lat2 - lat1);
^
C:gRPCgrpc-javaexamplessrcmainjavaiogrpcexamplesrouteguideRouteGuideServer.java:302: error: illegal character: 'u201d'
double Δλ = toRadians(lon2 - lon1);
^
C:gRPCgrpc-javaexamplessrcmainjavaiogrpcexamplesrouteguideRouteGuideServer.java:302: error: illegal character: 'u00bb'
double Δλ = toRadians(lon2 - lon1);
^
C:gRPCgrpc-javaexamplessrcmainjavaiogrpcexamplesrouteguideRouteGuideServer.java:302: error: not a statement
double Δλ = toRadians(lon2 - lon1);
^
C:gRPCgrpc-javaexamplessrcmainjavaiogrpcexamplesrouteguideRouteGuideServer.java:304: error: illegal character: 'u201d'
double a = sin(Δφ / 2) * sin(Δφ / 2) + cos(φ1) * cos(φ2) * sin(Δλ / 2) * sin(Δλ / 2);
^
C:gRPCgrpc-javaexamplessrcmainjavaiogrpcexamplesrouteguideRouteGuideServer.java:304: error: illegal character: 'u2020'
double a = sin(Δφ / 2) * sin(Δφ / 2) + cos(φ1) * cos(φ2) * sin(Δλ / 2) * sin(Δλ / 2);
^
C:gRPCgrpc-javaexamplessrcmainjavaiogrpcexamplesrouteguideRouteGuideServer.java:304: error: not a statement
double a = sin(Δφ / 2) * sin(Δφ / 2) + cos(φ1) * cos(φ2) * sin(Δλ / 2) * sin(Δλ / 2);
^
C:gRPCgrpc-javaexamplessrcmainjavaiogrpcexamplesrouteguideRouteGuideServer.java:304: error: illegal character: 'u201d'
double a = sin(Δφ / 2) * sin(Δφ / 2) + cos(φ1) * cos(φ2) * sin(Δλ / 2) * sin(Δλ / 2);
^
C:gRPCgrpc-javaexamplessrcmainjavaiogrpcexamplesrouteguideRouteGuideServer.java:304: error: illegal character: 'u2020'
double a = sin(Δφ / 2) * sin(Δφ / 2) + cos(φ1) * cos(φ2) * sin(Δλ / 2) * sin(Δλ / 2);
^
C:gRPCgrpc-javaexamplessrcmainjavaiogrpcexamplesrouteguideRouteGuideServer.java:304: error: not a statement
double a = sin(Δφ / 2) * sin(Δφ / 2) + cos(φ1) * cos(φ2) * sin(Δλ / 2) * sin(Δλ / 2);
^
C:gRPCgrpc-javaexamplessrcmainjavaiogrpcexamplesrouteguideRouteGuideServer.java:304: error: illegal character: 'u2020'
double a = sin(Δφ / 2) * sin(Δφ / 2) + cos(φ1) * cos(φ2) * sin(Δλ / 2) * sin(Δλ / 2);
^
C:gRPCgrpc-javaexamplessrcmainjavaiogrpcexamplesrouteguideRouteGuideServer.java:304: error: not a statement
double a = sin(Δφ / 2) * sin(Δφ / 2) + cos(φ1) * cos(φ2) * sin(Δλ / 2) * sin(Δλ / 2);
^
C:gRPCgrpc-javaexamplessrcmainjavaiogrpcexamplesrouteguideRouteGuideServer.java:304: error: ';' expected
double a = sin(Δφ / 2) * sin(Δφ / 2) + cos(φ1) * cos(φ2) * sin(Δλ / 2) * sin(Δλ / 2);
^
C:gRPCgrpc-javaexamplessrcmainjavaiogrpcexamplesrouteguideRouteGuideServer.java:304: error: illegal character: 'u2020'
double a = sin(Δφ / 2) * sin(Δφ / 2) + cos(φ1) * cos(φ2) * sin(Δλ / 2) * sin(Δλ / 2);
^
C:gRPCgrpc-javaexamplessrcmainjavaiogrpcexamplesrouteguideRouteGuideServer.java:304: error: not a statement
double a = sin(Δφ / 2) * sin(Δφ / 2) + cos(φ1) * cos(φ2) * sin(Δλ / 2) * sin(Δλ / 2);
^
C:gRPCgrpc-javaexamplessrcmainjavaiogrpcexamplesrouteguideRouteGuideServer.java:304: error: ';' expected
double a = sin(Δφ / 2) * sin(Δφ / 2) + cos(φ1) * cos(φ2) * sin(Δλ / 2) * sin(Δλ / 2);
^
C:gRPCgrpc-javaexamplessrcmainjavaiogrpcexamplesrouteguideRouteGuideServer.java:304: error: illegal character: 'u201d'
double a = sin(Δφ / 2) * sin(Δφ / 2) + cos(φ1) * cos(φ2) * sin(Δλ / 2) * sin(Δλ / 2);
^
C:gRPCgrpc-javaexamplessrcmainjavaiogrpcexamplesrouteguideRouteGuideServer.java:304: error: illegal character: 'u00bb'
double a = sin(Δφ / 2) * sin(Δφ / 2) + cos(φ1) * cos(φ2) * sin(Δλ / 2) * sin(Δλ / 2);
^
C:gRPCgrpc-javaexamplessrcmainjavaiogrpcexamplesrouteguideRouteGuideServer.java:304: error: not a statement
double a = sin(Δφ / 2) * sin(Δφ / 2) + cos(φ1) * cos(φ2) * sin(Δλ / 2) * sin(Δλ / 2);
^
C:gRPCgrpc-javaexamplessrcmainjavaiogrpcexamplesrouteguideRouteGuideServer.java:304: error: illegal character: 'u201d'
double a = sin(Δφ / 2) * sin(Δφ / 2) + cos(φ1) * cos(φ2) * sin(Δλ / 2) * sin(Δλ / 2);
^
C:gRPCgrpc-javaexamplessrcmainjavaiogrpcexamplesrouteguideRouteGuideServer.java:304: error: illegal character: 'u00bb'
double a = sin(Δφ / 2) * sin(Δφ / 2) + cos(φ1) * cos(φ2) * sin(Δλ / 2) * sin(Δλ / 2);
^
C:gRPCgrpc-javaexamplessrcmainjavaiogrpcexamplesrouteguideRouteGuideServer.java:304: error: not a statement
double a = sin(Δφ / 2) * sin(Δφ / 2) + cos(φ1) * cos(φ2) * sin(Δλ / 2) * sin(Δλ / 2);
^
26 errors
:compileJava FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':compileJava'.
> Compilation failed; see the compiler error output for details.
* Try:
Run with --info or --debug option to get more log output.
* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':compileJava'.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:68)
at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:203)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:185)
at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:66)
at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:50)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:25)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:110)
at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
at org.gradle.execution.DefaultBuildExecuter.access$000(DefaultBuildExecuter.java:23)
at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:43)
at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30)
at org.gradle.initialization.DefaultGradleLauncher$4.run(DefaultGradleLauncher.java:154)
at org.gradle.internal.Factories$1.create(Factories.java:22)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:52)
at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:151)
at org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:32)
at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:99)
at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:93)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:62)
at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:93)
at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:82)
at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:94)
at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)
at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:43)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:28)
at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:81)
at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:46)
at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:51)
at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:28)
at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:43)
at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:173)
at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:241)
at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:214)
at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:35)
at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24)
at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:207)
at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:169)
at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
at org.gradle.launcher.Main.doAction(Main.java:33)
at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:55)
at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:36)
at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
at org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:30)
at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:129)
at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)
Caused by: org.gradle.api.internal.tasks.compile.CompilationFailedException: Compilation failed; see the compiler error output for details.
at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:48)
at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:33)
at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.delegateAndHandleErrors(NormalizingJavaCompiler.java:104)
at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:53)
at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:38)
at org.gradle.api.internal.tasks.compile.CleaningJavaCompilerSupport.execute(CleaningJavaCompilerSupport.java:35)
at org.gradle.api.internal.tasks.compile.CleaningJavaCompilerSupport.execute(CleaningJavaCompilerSupport.java:25)
at org.gradle.api.tasks.compile.JavaCompile.performCompilation(JavaCompile.java:163)
at org.gradle.api.tasks.compile.JavaCompile.compile(JavaCompile.java:145)
at org.gradle.api.tasks.compile.JavaCompile.compile(JavaCompile.java:93)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.doExecute(AnnotationProcessingTaskFactory.java:245)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:221)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.execute(AnnotationProcessingTaskFactory.java:232)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:210)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
... 60 more
BUILD FAILED
Total time: 7.853 secs
It looks like the files are corrupted. Can you provide the git command you used to download grpc?
@carl-mastrangelo , this is the command I used git clone -b v1.0.0 https://github.com/grpc/grpc-java
My guess is that either the clone command is mutating the file because of windows, or javac is misinterpretting the bytes. Could you attach that file to this bug?
Alternatively, could you open up that file in an IDE (IntelliJ or Eclipse) and see if the characters are corrupted there?
It looks like git is rewriting the n characters to rn, but aside from that the UTF-8 encoding is intact. It seems like something is wrong with your environment or javac. Perhaps you have some unusual language settings in your environment? I don’t have a Windows machine handy to try it out.
This is a missing encoding option in the pom and build.gradle. See #2327
@ejona86 and @carl-mastrangelo , thanks for your help,
Setting the following two successfully helped solve the issue
gradle.properties = compileJava.options.encoding = 'UTF-8'
pom.xml= <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
I am able to compile in Gradle and Maven
lock
bot
locked as resolved and limited conversation to collaborators
Sep 22, 2018