br/> [javac] ^
[javac] E:\Asir_CVS\obe\obe\obeengine\src\org\obe\engine\repository\Abstract
Repository.java:164: cannot resolve symbol
[javac] symbol : class UnmarshalListener
[javac] location: class org.obe.engine.repository.AbstractRepository
[javac] unmarshaller.setUnmarshalListener(new UnmarshalL
istener() {
[javac] ^
[javac] E:\Asir_CVS\obe\obe\obeengine\src\org\obe\engine\repository\Abstract
Repository.java:252: cannot resolve symbol
[javac] symbol : class Marshaller
[javac] location: class org.obe.engine.repository.AbstractRepository
[javac] Marshaller marshaller = new Marshaller(writer);
[javac] ^
[javac] E:\Asir_CVS\obe\obe\obeengine\src\org\obe\engine\repository\Abstract
Repository.java:252: cannot resolve symbol
[javac] symbol : class Marshaller
[javac] location: class org.obe.engine.repository.AbstractRepository
[javac] Marshaller marshaller = new Marshaller(writer);
[javac] ^
[javac] E:\Asir_CVS\obe\obe\obeengine\src\org\obe\engine\repository\Abstract
Repository.java:255: cannot resolve symbol
[javac] symbol : class MarshalListener
[javac] location: class org.obe.engine.repository.AbstractRepository
[javac] marshaller.setMarshalListener(new MarshalListener()
{
[javac] ^
[javac] Note: E:\Asir_CVS\obe\obe\obeengine\src\org\obe\convert\ConverterReg
istry.java uses or overrides a deprecated API.
[javac] Note: Recompile with -deprecation for details.
[javac] 13 errors
BUILD FAILED
file:E:/Asir_CVS/obe/obe/obeengine/build.xml:140: Compile failed; see the compil
er error output for details.
Total time: 38 seconds
--------------------------------------------------------------------------------
为什么cvs上面的代码在编译是会提示错误呢?这正是本文要解决的问题。
在错误的开始处可以看到这样的提示“package org.exolab.castor.mapping does not exist”,
这也就是说我们编译的时候有某些jar包没有在classpath中,那么到底是那个jar包呢?
通过google可以知道,我们所缺少的是castor这个jar包(Castor是ExoLab Group下面的一个
开放源代码的项目,它主要实现的是O/R映射功能。它主要API和数据接口为:JDO-like, SQL,
OQL, JDBC, LDAP, XML, DSML。它支持分布式目录事务处理和时间;提供处理XML、Directory、
XADirectory的类库,提供从XML到JAVA类的转换机制。其中最重要的就是其XML映射机制和其
独创的Castor JDO的机制了);但是在obe源码的lib目录下明明有一个castor-0.9.5.3-xml.jar
的文件存在啊,那为什么还会出错呢?
上面我们提到了通过prepare windows-mysql-jboss-3.2.3.properties命令来生成适合自己环境
的local.properties文件,那么这个local.properties文件是否真的适合我们自己的环境呢?
打开local.properties文件,搜索castor关键字,我们会发现这样一行:
--------------------------------------------------------------------------------
castor.jar=castor-0.9.9-xml.jar
--------------------------------------------------------------------------------
而obe源码的lib目录下的castor包是castor-0.9.5.3-xml.jar,很明显,问题就是jar包的版本
不对引起的,可以在http://www.castor.org/下载castor-0.9.9-xml.jar文件,放到obe源码的
lib目录下即可。
OK,重新输入ant命令进行编译,编译成功!