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

在应用程序中向应用程序添加JAR。xml?

郭彬郁
2023-03-14

我有一个java应用程序,需要部署在weblogic服务器中。我目前正在为该应用程序制作ear文件。我的ear文件中有一个ejb jar。我想将log4j2 jar添加到此应用程序中。所以我的文件夹结构是

> Project-Name-
>     --Ear-Content
>         --APP-INF
>             --lib -> log4j2 jars
>             --classes - > log4j2.xml
>         --META-INF->application.xml, MANIFEST.MF, weblogic-application.xml
>         --Project-Name.jar

目前,我已经将JAR放在APP-INF文件夹/lib和META-INF/application中。xml我把JAR放在了模块中。这是我的申请表。xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE application PUBLIC '-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN' 'http://java.sun.com/dtd/application_1_3.dtd'>
<application>
  <display-name>ProjectName</display-name>
  <description>ProjectName</description>

  <module>
        <ejb>ProjectName.jar</ejb>

  </module>
  <module>
        <java>lib/log4j-api-2.1.jar</java>

  </module>
  <module>
  <java>lib/log4j-core-2.1.jar</java>
  </module>


</application>

但它不接受log4j罐子。有什么解决方案吗??

共有1个答案

冉俊德
2023-03-14

如果您只打包一个应用程序,我强烈建议使用war文件而不是ear,因为它更简单。否则,您可能需要打包当前的项目名称。jar到一个war文件中,然后将其打包到ear中。

查看像这里这样的教程

也就是说,您不需要在应用程序中显式引用log4j库。带有模块标记的xml文件。从Oracle文档:

存储在APP-INF/classes和APP-INF/lib下的类和库可用于企业应用程序中的所有模块。应用程序类加载器总是试图通过首先查找APP-INF/classes,然后查找APP-INF/lib来解析类请求。

最后但并非最不重要的一点是,如果Weblogic似乎没有使用您想要的类,而是使用默认值,那么在您的情况下,您需要在应用程序中设置以下内容。xml来告诉Weblogic使用哪一种:

<prefer-application-packages>
    <package-name>org.apache.log4j.*</package-name>
</prefer-application-packages>
 类似资料:
  • 这与我的问题相反,在OpenDayLight中安装自定义功能或模块?。我希望使用Hello World应用程序并添加以下功能的: ODL-RestConf ODL-MDSal-APIDOCS ODL-openflowplugin-flow-services ODL-openflowplugin-app-table-miss-enforcer ODL-OpenFlowPlugin-NXM-Exten

  • 我想知道是否可以将spring的其他参数(如)添加到spring boot app中,以便将其作为服务运行。 我检查了由自动生成的脚本: 所以也许它可以通过maven插件的选项来完成,但是除了JVM参数之外找不到其他的,这不是那么有用...

  • 我想为我的cordova android应用程序启用应用程序索引,如下所述:https://developers.google.com/app-indexing/webmasters/app 不幸的是,我找不到留档如何做一个科尔多瓦的应用程序。有一个插件收听和广播意向,但我不认为这将帮助我在这种情况下:https://github.com/Initsogar/cordova-webintent 我

  • 我安装了Tomcat6,并希望添加web应用程序来启动URL。我学习了如何在Tomcat7.0中设置web应用程序的上下文路径 我在/conf/catalina/localhost/path中创建了root.xml。在root.xml文件中有以下内容

  • Adding application logic (添加应用程序逻辑) 构建一个应用时,通常需要实现自定义逻辑来处理数据,并响应客户端请求之前执行其他操作. 在 Loopback 中,可以通过以下三种方法实现. 添加 model 逻辑 - 使用 remote methods,remote hooks 和 operation hooks. 启动脚本 - 目录 /server/boot 中的文件,在应

  • 问题内容: 我有一个现有的Flask应用程序,并且想找到通往另一个应用程序的路线。更具体地说,第二个应用程序是Plotly Dash应用程序。如何在现有的Flask应用程序中运行Dash应用程序? 我还尝试将路由添加到Dash实例,因为它是Flask应用程序,但出现错误: 问题答案: 从文档: 基本的Flask应用程序可从访问app.server。 你还可以将自己的Flask应用实例传递到Dash