问题标签 [xdoclet]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
391 浏览

java - Eclipse:XDoclet 插件在 ejb-jar.xml 中设置了错误的 ejb-client-jar

我正在使用一个使用 EJB 2.1 的旧企业应用程序。该应用程序是在 2000 年代使用 Eclipse 和 XDoclet 1.2.3 构建的。

该应用程序由 1 个名为的企业应用程序项目AppEar、1 个名为的 EJB 项目AppEjb、1 个名为的 EJB 客户端项目AppEjbClient、1 个名为的实用程序项目AppSrc和 1 个名为的动态 Web 项目组成AppWeb

位于项目文件夹中,ejb-jar.xml并通过此条目指向项目:ejbModule\META-INFAppEjbAppEjbClient

我将应用程序升级到 Eclipse Kepler(我的工作区是D:\WORK\WORKSPACE-eclipse-jee-kepler)。但是我遇到的问题是 XDoclet Plugin 现在在 ejb-jar.xml 中设置了错误的 ejb-client-jar。这是它现在的设置方式:

所以不知何故,XDcolet 插件现在认为AppSrc是 EJB 客户端项目而不是AppEjbClient.

我调查了一下,发现 XDcolet 插件运行tempAnt.xml位于.metadata\.plugins\org.eclipse.jst.j2ee.ejb.annotations.xdoclet工作区文件夹中的 ant 脚本。该文件夹还有一个build.properties文件,该文件具有与 EJB 客户端模块相关的 2 个属性:

ejb.dd.clientjar=AppSrc.jar
ejb.client.module.src=D:/WORK/WORKSPACE-eclipse-jee-kepler/AppSrc/src

我想我只需要在build.properties文件中更改它们以指向正确的 EJB 客户端,所以我以这种方式更改它们:

ejb.dd.clientjar=AppEjbClient.jar
ejb.client.module.src=D:/WORK/WORKSPACE-eclipse-jee-kepler/AppEjbClient/ejbModule

保存build.properties文件,然后再次清理并构建整个工作区。

但是在 ejb-jar.xml 中仍然得到了相同的错误 ejb-client-jar。

检查build.properties文件.metadata\.plugins\org.eclipse.jst.j2ee.ejb.annotations.xdoclet夹中的文件,并通过删除我的更改将其恢复。所以 XDoclet Plugin 会覆盖这个文件。

我该如何解决这个问题,以便在 ejb-jar.xml 中选择正确的 ejb-client-jar?

0 投票
0 回答
181 浏览

java - Hibernate注解相当于?

我正在将使用 xdoclet 的旧应用程序迁移到带有注释的 Hibernate 4。我在将“hibernate.properties”xdoclet 标记(生成为<properties unique="false".../>;in .hbm.xml)转换为等效注释时遇到问题。基于 Hibernate 的 JIRA,在创建 Hibernate 注释时似乎@Properties从未创建过注释,并且仍在考虑作为 Hibernate 5 中可能的增强功能。

以下是应用程序的使用方式<properties>。属性组设置如下:

然后在另一个实体中使用“b_plus_c_group”来表达对 ClassA 的连接,使用 b 和 c 作为键:

一些业务逻辑在构造 Criteria 查询时也会引用属性组:

(注意:不幸的是,目前生产中的基于 xdoclet 的实现不存在测试环境,因此我无法轻松运行场景来查看这些查询的实际行为。此时我依赖于手动观察。)

我对这里的用法的总结是:我们有一对属性“b”和“c”,它们一起形成了 A 的非唯一键(unique="false" 是默认值)。所以我们给这对属性命名为“b_plus_c_group”并使用它:

  1. 作为从另一个实体到 A 的多对一关系的关键
    • 但是一对非唯一的密钥如何可靠地产生多对一所需的单一结果呢?包含由COL_BCOL_C 组成的公式会起到什么额外的作用?
  2. 作为获取组中的字段以表达查询的限制和投影的一种方式。
    • 但是这些不能简单地表示为“ab”和“ac”吗?

因此,我有两种用法在我看来是错误的(但我可能会遗漏一些东西),并且无法将它们逐字翻译成注释。

任何人都可以澄清预期的行为并提供一种表达为注释的方法吗?

0 投票
1 回答
373 浏览

java - 为什么 Eclipse 不允许我为 2.1 EJB 项目选择 EJB Client JAR?

我的环境是 Java 1.7、Eclipse Luna、WildFly 8.x、XDoclet 1.2.3、W​​indows 7。

我想使用 XDoclet 创建一个新的 EJB 2.1 项目。

我去了 Java EE Perspective。

选择 File --> New --> EJB Project 打开“New EJB Project”窗口。

对于“项目名称”字段,我输入了“Z003_Test2xEJBOnWildfly8xEJB”。

对于“目标运行时”字段,我选择了“WildFly 8.x 运行时”。

对于“ EJB 模块版本”字段,我选择了“2.1”。

对于“配置”字段,我单击修改按钮打开“项目构面”窗口。在那里,我确保选择了这些选项:

  1. EJB 模块 2.1 版本
  2. EJBDoclet (XDoclet) 1.2.3 版本
  3. Java 1.7 版本

这是“Project Facets”窗口的外观:

在此处输入图像描述

单击 OK 按钮关闭“Project Facets”窗口,焦点回到“New EJB Project”窗口。

单击“下一步”按钮。

单击“下一步”按钮。这就是我期望选择“EJB Client JAR”选项的地方,这意味着将创建一个单独的 EJB Client JAR 项目。

但是这个选项被禁用了。这是它的外观:

在此处输入图像描述

为什么禁用此选项?我不明白。

0 投票
2 回答
211 浏览

java - 如何减少休眠集合的索引大小(使用复合元素设置)?

由于 mssql 限制为 900 字节,我需要减少索引大小。

我有一个类,它有一个声明为集合的集合。因此,主键由包括外键在内的所有非空列组成。从此主键创建一个索引。我不需要索引覆盖所有这些列。

有没有办法在不改变整个数据结构设置的情况下减小索引大小?

这是周围类定义中集合的当前配置:

我目前正在使用带有 xdoclet 注释的休眠 3.3.1:

非常感谢您的建议!

(请不要让我参考http://docs.jboss.org/hibernate/ 我已经找到了这个。)

编辑 我不能减小所有属性的大小以适应大小限制。由外键组成的索引就足够了。此外,我真的很想要一个不会改变底层数据结构的解决方案,因为我正在开发一个已经在使用的产品。

0 投票
1 回答
76 浏览

xdoclet - 从 xDoclet 生成的 Java 文件被 Sonar 标记为关键类别

团队,我们正在使用 xDoclet 生成类运行时。由于违反规则/某些 Java 标准未在 xDoclet 生成的类中遵守,Sonar 将所有类报告为严重类别。

这些类是自动生成的,因此 xDOCLET 在第一行给出消息“不要修改类,它是自动生成的”

每当我们解决了类中的问题并运行声纳时,它就会在构建时再次进入关键类别,xDoclet 会删除旧类并再次生成。

我们不想更新所有标记为 False Positive 的问题,并且我们正在使用自 7-9 年以来运行的遗留业务关键系统,因此此时不想删除 xDoclet。

请提出方法。

期待大力支持与合作

0 投票
0 回答
355 浏览

jboss - 将 weblogic ejb 2.0 迁移到 jboss ejb 3.0

我们正在使用ejb 2.0,想升级代码到ejb 3.1

在我当前的代码中,使用and.java自动生成了很多文件;我在我的 文件中看到了对这些的引用。当我从中删除这些和代码时,应用程序不再编译(使用/ )。xdocletejbdocletxdocletejbdocletsbuild.xmlxdocletejbdocletbuild.xmleclipseant

如何更改xdoctlet模板或摆脱这些xdocletejbdoclet引用?

xdoclet/ejbdoclet模板是什么样的?我不希望它在编译时自动生成它。

0 投票
1 回答
77 浏览

java - 构建 ODE 源时未找到 Maven 依赖项

我一直在尝试构建的源代码,apache-ode它对xdocletin有依赖关系pom.xml。我正在使用jrubyandbuildr来构建代码,但buildr无法从文件中列出的任何存储库下载此依赖项repositories.rb。这是依赖项的样子pom.xml

以下是存储库列表,buildr搜索所需的包

关于如何满足所需依赖的任何建议?您知道的任何存储库吗?我很陌生mavenbuildr不知道在哪里寻找以及要提供的存储库 URL 的格式是什么

0 投票
0 回答
55 浏览

openejb - 使用XDoclet生成openejb-jar.xml,结果为空

这是我在 managerBean 中的注释:

当我使用 XDoclet 生成 openejb-jar.xml 时,它只生成一个带有 openejb-jar 根节点的 xml 文件。我的 Xdoclet 注释有问题吗?

0 投票
1 回答
118 浏览

eclipse - 最新的 Eclipse 的 xdoclet 构建器有 StackOverflowError

我将我的 Eclipse 从 Neon 更新到最新的 2019-12,并且我有一个使用 xdoclet 生成 EJB 接口和类的遗留项目。Neon 的 xdoclet 构建器运行良好,但 2019-12 的构建器在由代码更改触发并持续运行直到溢出时遇到 StackOverflowError。

两个 Eclipse 都指向同一个启用了构建器的 xdoclet 1.2.3 安装。

由于控制台上的 build print msg 如下所示,我比较了 2 个插件目录并没有什么不同。

最新的 Eclipse 2019-12 不断地构建和构建,一次又一次地打印与上面相同的成功消息,直到溢出。Eclipse 的日志显示它递归调用 buildAndLaunch ......任何提示都欢迎!

0 投票
2 回答
130 浏览

java - 如何在 Jboss 4 中增加监听 JMS 队列的 MDB 实例的数量

例如,当我们在 ejb 3 中配置侦听 JMS 队列的 MDB 实例的数量时,如下所示,

@ActivationConfigProperty(propertyName = "maxSession", propertyValue = "someNumber")

我想知道如何在 EJB 2.1 Jboss 4 中完成它。

目前我使用 xDoclet 为 MDB 生成 ejb-jar.xml,我当前的声明如下。

这会导致 ejb-jar.xml 中的激活配置如下