【问题标题】:Spring ROO database reverse engineering with renamed context file具有重命名上下文文件的 Spring ROO 数据库逆向工程
【发布时间】:2013-03-04 15:25:53
【问题描述】:

我的要求很简单。我最近创建了一个 jsf-primefaces-spring-roo-eclipselink 多模块原型并将其分发给我的团队。启用 Spring ROO 后,我们可以更轻松地进行所有数据库逆向工程,一切顺利。

创建原型时,我使用模型层中的 applicationContext.xml 文件进行 ROO DB 逆向工程。然后我尝试将上下文文件的名称更改为 applicationContext-model.xml,因为我在 Web 层中使用了另一个上下文。现在重命名此上下文文件后,当我执行“数据库逆向工程师 --schema”时,当我在 roo shell 中选择自动完成时,我得到“无法获得连接”。此外,当我在 --schema 之后手动输入架构名称时,我收到此错误:

文件 'C:\TestWorkspace\TT\TT-model\src\main\resources\META-INF\spring\applicationContext.xml' 不存在

显然,ROO 似乎对上下文文件重命名不太满意。我可以知道如何告诉 ROO 使用新的上下文文件名来进行数据库逆向工程吗?

感谢您的帮助。

问候

巴斯

【问题讨论】:

    标签: maven primefaces eclipselink reverse-engineering spring-roo


    【解决方案1】:

    由于 Roo 想要路径 'src\main\resources\META-INF\spring\applicationContext.xml' 中的上下文文件,如果需要避免冲突,我通常会更改其他上下文文件的名称。

    例如,尝试重命名 Web 层中的应用程序上下文文件。

    【讨论】:

    • 感谢 jbbarquero 的确认。不知道Roo有这样的限制。
    • 其实我说的不对。我目前正在尝试新版本 1.2.3,现在允许更改应用程序上下文文件的名称。最好使用遵循测试使用的模式的名称:applicationContext*.xml,但我仍然不尝试逆向工程。
    • 嗨 jbbarquero。我在 web.xml 中使用 applicationContext*.xml 模式来包含属于该应用程序的所有上下文文件。一切都很好,除了 ROO DBRE。 Roo 不让我拥有除了 applicationContext.xml 之外的任何东西,因为它是 DBRE 的魔法。如果你找到破解它的方法,请告诉我:) 谢谢。
    • 好的,我查看了 Roo DBRE 命令,它硬编码了名称“applicationContext.xml”,用于搜索 JNDI DS 名称以连接到数据库。事实上,如果它不存在,它使用“database.properties”文件(是的,也是硬编码的)。您可以提出 JIRA 票,因为它甚至没有出现在文档中 (static.springsource.org/spring-roo/reference/html/…)。注意:web.xml 中的模式用于加载 Web 应用程序的应用程序上下文,它与插件无关,包括 DBRE。所以第一个解决方法应该有效
    猜你喜欢
    • 2012-06-24
    • 1970-01-01
    • 1970-01-01
    • 2014-09-21
    • 1970-01-01
    • 2012-06-22
    • 2010-10-14
    • 1970-01-01
    • 2011-02-16
    相关资源
    最近更新 更多