Java ejb3.0。为客户提供接口

Java ejb3.0。为客户提供接口,java,jakarta-ee,ejb-3.0,Java,Jakarta Ee,Ejb 3.0,假设我正在编写企业会话bean(v3.0),以便将其用作远程bean 我已经编写了远程业务接口,在一个bean类中实现了接口的方法(bean还使用另一个java对象将数据传输到客户机,这些类被指定为可序列化的,可以通过网络进行编组),现在我想将该bean提供给客户机。要使用bean功能,客户机需要该bean的业务接口以及用于将数据从bean传输到客户机的类 为了解决这个问题,我用这个bean制作了一个jar并提供给客户。然后,客户机必须将这个jar库添加到客户机的项目中,然后使用Context类

假设我正在编写企业会话bean(v3.0),以便将其用作远程bean

我已经编写了远程业务接口,在一个bean类中实现了接口的方法(bean还使用另一个java对象将数据传输到客户机,这些类被指定为可序列化的,可以通过网络进行编组),现在我想将该bean提供给客户机。要使用bean功能,客户机需要该bean的业务接口以及用于将数据从bean传输到客户机的类

为了解决这个问题,我用这个bean制作了一个jar并提供给客户。然后,客户机必须将这个jar库添加到客户机的项目中,然后使用
Context
类中的
lookup
方法找到bean实现

但当我制作一个jar时,它会将所有bean类放入jar归档,这样客户机就可以反编译jar的字节码,并查看接口的真正实现。这不是很好的做法


那么,如何在不提供实际实现的情况下向客户机提供所有必要的接口呢?

将客户机接口放在不同的包或项目中,并且在构建客户机jar时,只包含该客户机接口的类文件。

可能将其放在不同的项目中是一个不错的决定,因为虽然它们在不同的包中,但在创建jar时会放在同一个jar中,您通常可以选择要放在jar中的包。但取决于您使用的工具:-)项目可能更简单。