当前位置: 首页 > 知识库问答 >
问题:

从10.3.6升级到Weblogic 12cR2后,由于NameAlreadyBoundException而导致Weblogic部署问题

薛博赡
2023-03-14

我有一个基于Java 1.6和Weblogic 10.3.6的运行应用程序。现在我正在迁移到Java 1.8和Weblogic 12cR2(12.2.1.3)。我有一个EAR文件,它构建在ANT上,部署在Weblogic中。

我已经在我的系统中安装了JDK 1.8和Weblogic 12cR2。我已经编译了我的代码库,并成功地在ANT上构建了它。生成的EAR文件没有任何错误。现在,我正试图在我最新的Weblogic中部署它,我得到了以下错误:

weblogic.application.ModuleException: 
Unable to bind Business Interface to the JNDI name: myapp_admin_ejb_jarAdminServiceBean_Home, 
throw exception javax.naming.NameAlreadyBoundException: [EJB:011224]Unable to bind the interface com.abc.xyz.admin.ejb.session.AdminServiceRemote to remote. 
Another EJB has already bound an interface to that name.; 
remaining name 'ejb/admin_service_jndi'. 
NestedException Message is :
Unable to bind the interface  to remote. 
Another EJB has already bound an interface to that name. at weblogic.application.internal.ExtensibleModuleWrapper.activate(ExtensibleModuleWrapper.java:123)



    <May 29, 2018 3:56:04,460 PM IST> <Error> <Deployer> <BEA-149265> <Failure occurred in the execution of deployment request with ID "10661298941920" for task "0" on [partition-name: DOMAIN]. Error is: "weblogic.application.ModuleException: Unable to bind Business Interface to the JNDI name: myapp_admin_ejb_jarAdminServiceBean_Home, throw exception javax.naming.NameAlreadyBoundException: [EJB:011224]Unable to bind the interface com.abc.xyzadmin.ejb.session.AdminServiceRemote to remote. Another EJB has already bound an interface to that name.; remaining name 'ejb/admin_service_jndi'. NestedException Message is :[EJB:011224]Unable to bind the interface com.abc.xyzadmin.ejb.session.AdminServiceRemote to remote. Another EJB has already bound an interface to that name."
weblogic.application.ModuleException: Unable to bind Business Interface to the JNDI name: myapp_admin_ejb_jarAdminServiceBean_Home, throw exception javax.naming.NameAlreadyBoundException: [EJB:011224]Unable to bind the interface com.abc.xyzadmin.ejb.session.AdminServiceRemote to remote. Another EJB has already bound an interface to that name.; remaining name 'ejb/admin_service_jndi'. NestedException Message is :[EJB:011224]Unable to bind the interface com.abc.xyzadmin.ejb.session.AdminServiceRemote to remote. Another EJB has already bound an interface to that name.
    at weblogic.application.internal.ExtensibleModuleWrapper.activate(ExtensibleModuleWrapper.java:123)
    at weblogic.application.internal.flow.ModuleListenerInvoker.activate(ModuleListenerInvoker.java:114)
    at weblogic.application.internal.flow.ModuleStateDriver$2.next(ModuleStateDriver.java:212)
    at weblogic.application.internal.flow.ModuleStateDriver$2.next(ModuleStateDriver.java:207)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:45)
    Truncated. see log file for complete stacktrace
Caused By: Unable to bind Business Interface to the JNDI name: myapp_admin_ejb_jarAdminServiceBean_Home, throw exception javax.naming.NameAlreadyBoundException: [EJB:011224]Unable to bind the interface com.abc.xyzadmin.ejb.session.AdminServiceRemote to remote. Another EJB has already bound an interface to that name.; remaining name 'ejb/admin_service_jndi'. NestedException Message is :[EJB:011224]Unable to bind the interface com.abc.xyzadmin.ejb.session.AdminServiceRemote to remote. Another EJB has already bound an interface to that name.
    at weblogic.ejb.container.deployer.Ejb3SessionBinder.bindToJNDI(Ejb3SessionBinder.java:144)
    at weblogic.ejb.container.deployer.ClientDrivenBeanInfoImpl.activate(ClientDrivenBeanInfoImpl.java:900)
    at weblogic.ejb.container.deployer.EJBDeployer.activate(EJBDeployer.java:770)
    at weblogic.ejb.container.deployer.EJBModule.activate(EJBModule.java:447)
    at weblogic.application.internal.ExtensibleModuleWrapper$ActivateStateChange.next(ExtensibleModuleWrapper.java:317)
    Truncated. see log file for complete stacktrace

我已经检查了我的代码,我没有使用任何重复的ejb jndi引用等等。检查了我的weblogic.xml,weblogic-ejb-jar.xml一切都很好。

请帮助我找出在迁移到新的Weblogic服务器时遗漏了什么。

另外,我想通知大家,在我的本地机器中,新旧weblogic服务器都存在。Java 6中的旧代码在旧weblogic中运行良好,经过重新部署测试,一切正常。它只是在我的新weblogic中,没有运行。我已经升级了项目类路径中所有必需的JAR文件,并使用了Weblogic 12cR2附带的JAR文件。还有什么我遗漏的吗。请帮忙。

共有1个答案

戎洛华
2023-03-14

问题已解决。

说明:我的应用程序有多个JAR和依赖项。JAR依赖项是从应用程序类路径中读取的。所以在所有JAR清单文件中都有相同的名称。

在目标创建过程中,我现在使用的是除默认应用程序类路径之外的其他类路径:

<path id="mf.classpath">    
    <path refid="common.classpath" />
    <fileset dir="${dist.dir}" includes="/**/*.jar" excludes="/**/*ejb*"/>
</path>

这解决了我的问题。

 类似资料:
  • 我的应用程序目前使用WebLogic10.3和Java1.6。现在我们试图将相同的应用程序部署到WebLogic12CR2&Java1.8上,下面是我们面临的错误。

  • 我使用Java7和spring Boot1.5.9开发了一个RESTful webservices。已经在webcontent文件夹中添加了weblogic.xml和dispatcherservlet.xml文件。我生成了一个WAR,并试图将其部署到weblogic服务器10.3.6中,但在此过程中,我在weblogic控制台上出现了以下错误:1。无法访问所选应用程序%2。Appmerge流的进度

  • 我已经将我的项目从Angular 4升级到Angular 7,并且我得到以下错误: node_modules/@ng-bootstrap/ng-bootstrap/typeahead/typeahead.d.ts(3,10)中的错误:错误TS2305:模块“d://usman/dev_area/code/physician-portal/node_modules/rxjs/observable”没

  • 我已经为我的应用程序将WebLogic服务器从10.3.5升级到10.3.6,并将JAR升级到WebLogic 10.3.6提供的最新版本。 当我尝试运行应用程序的测试用例时,它们失败了,错误如下: 在使用WebLogic10.3.5时,测试案例没有问题地通过。我最终发现,在为新版本(WebLogic 10.3.6)创建的新中没有名为的文件夹。 请帮助我如何解决这个问题。

  • 我试图升级我目前的java项目,运行在1.6到1.8,但程序编译良好如何曾经当我去http://localhost:8080/MyProject/login.jsp-我得到错误。 我正在使用eclipse luna,我将java\u HOME更改为1.8,将eclipse项目facets更改为1.8,并更新了javax。servlet api=3.1.0。 堆栈跟踪 无布局。jsp 我用常春藤做依

  • 我们最近将VS 2010和.NET 4应用程序升级为VS 2012和.NET 4.5。我们有一个构建脚本来在测试服务器上部署应用程序。我们有两个框-一个是Windows 8和VS 2012(新安装),另一个是Windows 7和VS 2010和VS 2012(新安装)。 从Windows 8运行构建脚本时,box构建脚本运行良好,并将应用程序部署到测试服务器。但从Windows 7 box部署应用