我有以下EAR结构,它部署到WildFly 9.0.2
String cap_data=string_data.replaceAll("\\^", "%5E");
libA.jar和libB.jar都有相同的类。我无权修改libB.jar,我需要两个EJB模块从libA.jar中选择类。
如何按照我们对classpath的操作来强制执行此操作,方法是根据需要对jar进行排序?
答案 0 :(得分:2)
如果您的EJB jar需要访问两个jar中的类,那么您必须从libB.jar中删除不需要的类。
在类可见性方面,EAR lib目录中的所有jar都被视为相同的模块。这是Java EE规范的强制要求。
你可能会为每个EJB jar中的MANIFEST.MF文件添加一个Class-Path条目而逃脱:
Class-Path:lib / libA.jar lib / libB.jar