我有一个EJB返回我自己的ValidationMessage
个对象的列表:
@Remote
public interface Intf {
List<ValidationMessage> validateFile();
}
我正在使用weblogic的 appc 实用程序生成EJB客户端JAR。问题是它不包含ValidationMessage
类到客户端JAR中。也许它没有看到对这个类的依赖,因为它只查看已编译的代码,当通用信息已被删除时
如果我添加另一个直接返回此类的虚方法到接口,一切都很好。
@Remote
public interface Intf {
List<ValidationMessage> validateFile();
ValidationMessage dummy();
}
我的问题是:有没有办法解决这个问题,而无需添加虚拟方法?有没有办法控制客户端JAR中 appc 包含的内容?
答案 0 :(得分:0)
这不是实际答案,我不了解WebLogic或appc实用程序。
这看起来像是一个泛型擦除问题。 validateFile()
方法的实际返回类型是原始类型List
;虽然类文件中有额外的信息来重建类型参数,但有些工具不会检查它们。
我预测如果你也在方法参数中引用缺少的类,这个问题就会消失。
答案 1 :(得分:0)
我确实遇到了appc的类似问题,我想覆盖它为JAX-WS客户端生成的一些POJOS。
我使用此选项(-output)生成输出到爆炸目录而不是客户端jar。将所需.class文件的ant副本复制到客户端目录并创建jar属于你自己。
如果你执行'java weblogic.appc'执行setEnv.cmd
,你可以看到这个选项-output指定备用输出存档或 目录。如果没有设置,输出将是 放在源存档或目录中。
检查是否有效