代码之家  ›  专栏  ›  技术社区  ›  NinjaCat

intellij:xdoclet、ejb等

  •  1
  • NinjaCat  · 技术社区  · 16 年前

    我继承了一个现有的intellij项目,在花了一段时间之后,我几乎把一切都搞清楚了。

    我被困的一个地方是我看到了大量的EJB。

    我看到有一个EJB(容器管理的持久性),我想创建一个新的bean。 使用该EJB,所有源文件都以以下开头:

    /*
    * Generated by XDoclet - Do not edit!
    */
    

    如何创建这些文件?我在用户界面中看不到用于创建它们的任何内容。

    2 回复  |  直到 16 年前
        1
  •  1
  •   Pascal Thivent    16 年前

    您的项目使用的是EJB2.X,EJB2.X非常冗长。对于每个EJB,您必须编写一个bean实现, Remote 接口 Home 接口和维护 ejb-jar.xml 部署描述符等等,这是很多东西,有一些冗余,并且不容易维护。

    就在那里 XDoclet 进入画面。xdoclet是一个源于创建EJB(以简化开发)的代码生成引擎。XDoCube解析使用特殊JavaDoc标记添加到Java源中的元数据,并从中生成XML描述符和/或源代码。

    所以基本上,这个想法是只提供bean实现,添加 @ejb javadoc注释,并从中生成其余的注释。这一代人本身可能是用蚂蚁和 <ejbdoclet .. /> 蚂蚁任务(或者可能是Maven,但想法是相似的)。

    所以不要期望在intellij中找到一个特殊的菜单项,我认为intellij没有为xdoclet提供任何特殊的东西。相反,寻找一个 build.xml (一个Ant构建脚本)或者一个Maven脚本,看看是否可以在构建时生成这些文件,这正是它应该被使用的方式。

    然后,模拟已经为现有bean做了什么-看看bean 实施 -添加新的CMP实体bean。我真诚地祝愿你好运,因为你的项目看起来很灰暗…我以为没有人再使用EJB2.X实体bean了。

        2
  •  1
  •   bwawok    16 年前

    xdoclet是一个接受注释并将其转换为XML的程序。有点拙劣的人类注释。在为Hibernate之类的东西提供注释(将为每个对象生成Hibernate所需的长的、无聊的.xml文件)之前,这是很酷的。

    你可以在这里读到

    http://www.xdoclet.net/xdoclet/index.html

    有各种各样的插件可以做xdoclet,但是如果这个项目不太大,我建议您离开。搬走:

    1)删除所有xdoclet注释(可选,但不会混淆下一个人)
    2)获取所有的.xml文件,并认为它们是手工编辑的…所以将它们存储在版本控制中,而不是在运行时生成。
    3)将来当事情发生变化时,用手工编辑XML,而不是更改xdoclet注释并生成新的XML文件。
    4)慢慢转换成注释或更现代的东西…