Я использую библиотеку, которая имеет тип enum с такими константами;
Type.SHORT
Type.LONG
Type.FLOAT
Type.STRING
Во время отладки в Eclipse я получил ошибку:
No enum const class Type.STRİNG
Поскольку я использую турецкую систему, есть проблема с работой i>İ, но, поскольку это перечисление const, даже если я указал все атрибуты как UTF-8, ничто не могло получить, что STRING это то, что Затмение следует искать. Но он по-прежнему ищет STRİNG и не может найти, и я не могу его использовать. Что я должен сделать для этого?
Проект > Свойства > Ресурс > Кодировка текстового файла теперь UTF-8. Проблема держится.
EDIT: Дополнительная информация может дать некоторые подсказки, которые я не могу получить; Я работаю над OrientDB. Это моя первая попытка, поэтому я не знаю, может ли проблема быть в пакетах OrientDB. Но я использую много других библиотек, я никогда не видел такой проблемы. В этом пакете есть перечисление OType, и я только пытаюсь подключиться к базе данных.
String url = "local:database";
ODatabaseObjectTx db = new ODatabaseObjectTx(url).
Person person = new Person("John");
db.save(person);
db.close();
Кода, который я использую, больше нет. База данных создана, но затем я получаю java.lang.IllegalArgumentException
:
Caused by: java.lang.IllegalArgumentException: No enum const class com.orientechnologies.orient.core.metadata.schema.OType.STRİNG
at java.lang.Enum.valueOf(Unknown Source)
at com.orientechnologies.orient.core.metadata.schema.OType.valueOf(OType.java:41)
at com.orientechnologies.orient.core.sql.OCommandExecutorSQLCreateProperty.parse(OCommandExecutorSQLCreateProperty.java:81)
at com.orientechnologies.orient.core.sql.OCommandExecutorSQLCreateProperty.parse(OCommandExecutorSQLCreateProperty.java:35)
at com.orientechnologies.orient.core.sql.OCommandExecutorSQLDelegate.parse(OCommandExecutorSQLDelegate.java:43)
at com.orientechnologies.orient.core.sql.OCommandExecutorSQLDelegate.parse(OCommandExecutorSQLDelegate.java:28)
at com.orientechnologies.orient.core.storage.OStorageEmbedded.command(OStorageEmbedded.java:63)
at com.orientechnologies.orient.core.command.OCommandRequestTextAbstract.execute(OCommandRequestTextAbstract.java:63)
at com.orientechnologies.orient.core.metadata.schema.OClassImpl.addProperty(OClassImpl.java:342)
at com.orientechnologies.orient.core.metadata.schema.OClassImpl.createProperty(OClassImpl.java:258)
at com.orientechnologies.orient.core.metadata.security.OSecurityShared.create(OSecurityShared.java:177)
at com.orientechnologies.orient.core.metadata.security.OSecurityProxy.create(OSecurityProxy.java:37)
at com.orientechnologies.orient.core.metadata.OMetadata.create(OMetadata.java:70)
at com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.create(ODatabaseRecordAbstract.java:142)
... 4 more
Вот класс OType: http://code.google.com/p/orient/source/browse/trunk/core/src/main/java/com/orientechnologies/orient/core/metadata/schema/OType.java
И другой класс; OCommandExecutorSQLCreateProperty: http://code.google.com/p/orient/source/browse/trunk/core/src/main/java/com/orientechnologies/orient/core/sql/OCommandExecutorSQLCreateProperty.java
Строка 81 говорит: type = OType.valueOf(word.toString());
CTRL+Space
сразу после вводаType.STR
? - person Philipp Reichart   schedule 12.09.2011İ
вместоI
? - person Philipp Reichart   schedule 12.09.2011STRİNG
— ничего не нашел. Это должно быть где-то в вашем коде или файлах конфигурации. - person Philipp Reichart   schedule 12.09.2011