2010-07-15 42 views
6

通用参数我有一个EJB回到我自己的ValidationMessage对象的列表:weblogic的APPC:包括在EJB客户端JAR

@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

这不是和实际的答案,我不知道WebLogic或appc实用程序。

这看起来像一个泛型删除问题。 validateFile()方法的实际返回类型是原始类型List;虽然类文件中有额外的信息来重建类型参数,但有些工具不检查它们。

我在预测,如果您还在方法参数中引用缺少的类,则此问题将消失。

+0

这正是我在这个问题写道:这是一个泛型擦除问题,如果你添加一个虚拟方法指的是类它不走。 – unbeli 2010-07-22 21:33:04

0

我确实得到了appc的simialr问题,我想重写它为JAX-WS客户端生成的一些POJOS。

我用这个选项( - 输出)生成输出到展开目录,而不是客户端jar.Do您所需的.class文件的蚂蚁复制到客户端目录,并创建自己的罐子。

你可以看到这个选项,如果你做的Java weblogic.appc“执行setEnv.cmd

- 输出指定备用输出归档文件或目录 。如果未设置,则输出将放置在源归档或目录中的 。

检查,如果这个工程