【问题标题】:Where to add jars during real time Deployment?在实时部署期间在哪里添加 jar?
【发布时间】:2017-02-07 06:44:33
【问题描述】:

我无法确定是否必须将特定于项目的库 jar 添加到服务器配置文件夹(在我的情况下为 jboss 服务器)或应用程序耳内(在 WEB_INF/lib 内)或两者内。

最近我尝试在实时 jboss 服务器中部署 ear。并不断收到以下错误。

错误 [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/iportalweb].[RBXLoginServlet]] (http-/192.168.150.3:10041-4) JBWEB000236: Servlet.service() 为 servlet RBXLoginServlet 抛出异常: java.lang.NoClassDefFoundError:无法初始化类 org.jboss.logmanager.MDC 在 org.apache.log4j.MDC.remove(MDC.java:23) [log4j-jboss-logmanager-1.1.0.Final-redhat-2.jar:1.1.0.Final-redhat-2] 在 com.orbidirect.aps.common.Log4jMDCInitializer.removeFromMDC(Log4jMDCInitializer.java:54) [iRetailLib.jar:] 在 com.polaris.iportal.ws.filters.LogInitializationFilter.doFilter(LogInitializationFilter.java:120) [班级:] 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) [jbossweb-7.4.10.Final-redhat-1.jar:7.4.10.Final-redhat-1] 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.4.10.Final-redhat-1.jar:7.4.10.Final-redhat-1] 在 com.polaris.canvas.filters.DeviceDetectFilter.doFilter(DeviceDetectFilter.java:94) [CTRenderLib.jar:] 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) [jbossweb-7.4.10.Final-redhat-1.jar:7.4.10.Final-redhat-1] 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.4.10.Final-redhat-1.jar:7.4.10.Final-redhat-1] 在 com.polaris.canvas.filters.DeviceDetectFilter.doFilter(DeviceDetectFilter.java:94) [CTRenderLib.jar:] 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) [jbossweb-7.4.10.Final-redhat-1.jar:7.4.10.Final-redhat-1] 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.4.10.Final-redhat-1.jar:7.4.10.Final-redhat-1] 在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:231) [jbossweb-7.4.10.Final-redhat-1.jar:7.4.10.Final-redhat-1] 在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149) [jbossweb-7.4.10.Final-redhat-1.jar:7.4.10.Final-redhat-1] 在 org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169) [jboss-as-web-7.4.3.Final-redhat-2.jar:7.4.3.Final-redhat-2] 在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:145) [jbossweb-7.4.10.Final-redhat-1.jar:7.4.10.Final-redhat-1] 在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97) [jbossweb-7.4.10.Final-redhat-1.jar:7.4.10.Final-redhat-1] 在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102) [jbossweb-7.4.10.Final-redhat-1.jar:7.4.10.Final-redhat-1] 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) [jbossweb-7.4.10.Final-redhat-1.jar:7.4.10.Final-redhat-1] 在 org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856) [jbossweb-7.4.10.Final-redhat-1.jar:7.4.10.Final-redhat-1] 在 org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653) [jbossweb-7.4.10.Final-redhat-1.jar:7.4.10.Final-redhat-1] 在 org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:926) [jbossweb-7.4.10.Final-redhat-1.jar:7.4.10.Final-redhat-1] 在 java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_91]

我知道使用 Eclipse,你总是可以将 jars 添加到项目部署程序集并在本地运行它。但是如果服务器库有相同的jars会不会有问题?

【问题讨论】:

    标签: eclipse jboss noclassdeffounderror


    【解决方案1】:

    通常你将你的 jar 库放在你 ear 的 lib 目录,或者你的 war 的 lib 目录中,这取决于你如何打包你的应用程序。这是部署库 jar 的最常用方法。

    如果您打算在多个应用程序(例如,数据库驱动程序)上使用同一个 jar,您可以为这个 jar 声明一个 jboss 模块,然后通过 MANIFEST.MF 文件声明对需要这个 jar 的应用程序的依赖.

    部署 jboss 已有的 jars 不是一个好主意,因为您可能会遇到版本冲突。如果您使用的是 maven,您可以将这些依赖项声明为已提供,因此它们不会被复制到您的应用程序lib 文件夹。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-19
      相关资源
      最近更新 更多