9

我继承了一个基于 CXF/Hibernate/JBoss 的项目,其中包含一个名为database.xsd. 我梳理了项目以找出系统中使用的子系统/组件,database.xsd但在 maven-war-plugin 用于创建 WAR 文件 ( webapp-cache.xml ) 的文件中只产生了一个引用。

对我来说,这表明这database.xsd是某些框架或插件所期望的一些标准文件名。但它是什么?休眠?CXF?其他?

是否有文档实际描述了database.xsd依赖它的包中的角色?

更新:临时删除database.xsd并尝试重建,导致许多编译错误,导致使用DTO 文件XML2SQL.java引用的包的原则文件。*.hbm.xml这告诉我,罪魁祸首是……休眠

4

2 回答 2

4

它是Hibernate,因为临时删除 database.xsd 并尝试重建,导致许多编译错误,导致原理XML2SQL.java文件使用*.hbm.xml由DTO 文件引用的包。(见上面的更新)

于 2012-12-31T17:16:15.600 回答
1

我会用“老式方式”来处理这个,良好的日志记录+二进制搜索方法。

首先在测试环境中:

1) 确保您的代码设置为使用 log4j 并具有最广泛的日志记录级别。

2) 删除 database.xsd 后,大致确定故障的“中途点”。例如,假设系统设置正确,它会产生 1000 行日志记录。删除 database.xsd 后,它无法加载并停止,只有 500 行日志记录。查看日志记录,确定正在调用哪些类/方法。(另一种处理这个而不是删除 database.xsd 的方法是在您的测试环境中引入一个带有语法错误的副本。)

3) 随着您在第 2 步中的学习,添加更多日志记录并尝试/捕获以捕获更多信息。如果这不允许您缩小目标范围。重复,关注“250 测井线”点。每次继续将问题空间减半,直到找到目标类。

我看到的许多 Java 程序只是“快乐路径”的代码,并依赖顶级异常处理来捕获和记录错误,但这可能会导致非常厚(大量行)和难以阅读的日志文件。

于 2012-12-29T13:31:01.053 回答