Java XStream Cannotresolveclasscastexception-将哪个别名放在哪里?
我有一个需要调试的项目,由于一些Java XStream Cannotresolveclasscastexception-将哪个别名放在哪里?,java,xstream,Java,Xstream,我有一个需要调试的项目,由于一些XStream错误,我得到了一个Cannotresolveclasscastexception 在本文中,我了解到,在这种情况下,应该添加一个xstream别名,但是我不知道该别名的用途和需要。最简单的代码示例是: import com.thoughtworks.xstream.XStream; import java.io.FileReader; import java.io.IOException; public class Configuration
XStream
错误,我得到了一个Cannotresolveclasscastexception
在本文中,我了解到,在这种情况下,应该添加一个xstream别名,但是我不知道该别名的用途和需要。最简单的代码示例是:
import com.thoughtworks.xstream.XStream;
import java.io.FileReader;
import java.io.IOException;
public class Configuration
{
private static final Configuration ourInstance = new Configuration();
private ConfigData ourData;
//original private XStream xStream = new XStream(new DomDriver()); // does not require XPP3 library
private XStream xStream = new XStream();
private String configFileDirectory = "C:\\";
private String mainConfigurationFile = "MainConfiguration.xml";
private Configuration()
{
// Private to ensure singleton status
}
/**
* Load configuration information. This method must be called before calling any other
* methods.
*/
public static void load()
{
ourInstance.loadConfiguration();
}
private void loadConfiguration()
{
ourData = (ConfigData)loadObject(mainConfigurationFile);
}
private Object loadObject(String fileName)
{
Object obj = null;
try
{
obj = fromFile(fileName);
}
catch (IOException e)
{
e.printStackTrace();
System.exit(1); // Can't continue without a configuration object
}
return obj;
}
private Object fromFile(String fileName) throws IOException
{
FileReader reader = new FileReader(configFileDirectory + fileName);
return (Object) xStream.fromXML(reader);
}
private static class ConfigData
{
}
}
和调用函数:
public class test_main_blabla {
public static void main(String[] args) {
Configuration.load();
}
}
我得到的错误是:
Exception in thread "main" com.thoughtworks.xstream.alias.CannotResolveClassException: data.Configuration$ConfigData : data.Configuration$ConfigData
at com.thoughtworks.xstream.core.DefaultClassMapper.lookupType(Unknown Source)
at com.thoughtworks.xstream.core.TreeUnmarshaller.start(Unknown Source)
at com.thoughtworks.xstream.core.ReferenceByXPathMarshallingStrategy.unmarshal(Unknown Source)
at com.thoughtworks.xstream.XStream.unmarshal(Unknown Source)
at com.thoughtworks.xstream.XStream.fromXML(Unknown Source)
at Configuration.fromFile(Configuration.java:56)
at Configuration.loadObject(Configuration.java:42)
at Configuration.loadConfiguration(Configuration.java:34)
at Configuration.load(Configuration.java:29)
at test_main_blabla.main(test_main_blabla.java:4)
谁能帮我让这个最小的代码示例工作
非常感谢。提前感谢。请显示您收到的确切错误。它应该显示它无法解析的名称。哦,是的,刚刚更新了帖子。谢谢。也许您只需要将您的
ConfigData
类公开?不,这无助于我假设您的Configuration
类确实在data
包中?如果您也能展示您的XML,并且最好是一个简短但完整的程序来演示这个问题,这会有所帮助。