Я использую библиотеку с типом enum с такими константами, как эти;
Type.SHORT
Type.LONG
Type.FLOAT
Type.STRING
Во время отладки в Eclipse я получил ошибку:
No enum const class Type.STRİNG
Поскольку я использую турецкую систему, есть проблема при работе i> İ, но, поскольку это enum const, даже если я поставил все атрибуты как UTF-8, ничто не может получить это STRING это то, что Eclipse должен искать. Но он все еще ищет STRİNG , и он не может найти, и я не могу это использовать. Что я должен сделать для этого?
Project> Properties> Resouce> Кодировка текстового файла теперь UTF-8. Проблема держится.
РЕДАКТИРОВАТЬ: Дополнительная информация может дать некоторые подсказки, которые я не могу получить;
Я работаю над 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());