假设我有2个同名的jar文件,我将一个放入glassfish / lib文件夹,另一个放入glassfish / domains / domain / lib(或glassfish / domains / domain / applibs)。
这两个jar文件具有相同的类名,比如A和方法名,比如说method1,但是方法1的实现方式不同。
当我启动Glassfish服务器并在我的应用程序中调用A.method1()时,会执行哪个方法?
我做了一个测试,看起来glassfish / lib中的方法被执行了。有没有办法让其他方法执行?
答案 0 :(得分:1)
我在tomcat上做了一些相同的事情,其中我将一个实现放在Tomcat \ lib目录中,另一个放在application \ lib目录中。
如果application \ lib在server \ lib目录中包含某个实现其给定的首选项,而在没有application \ lib的情况下,则使用server \ lib来运行该应用程序。
因此,在您的情况下,即域,如果两个实现都存在,似乎域\ lib A.method1()将会运行。