- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在部署一个使用 Maven 构建的 EAR 应用程序,该应用程序在其中一个模块中具有以下依赖项:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>5.1.0.Final</version>
</dependency>
当我尝试在 Glassfish Server 4.1 中部署应用程序时,出现以下错误:
Fatal: java.lang.NoSuchMethodError: org.jboss.logging.Logger.debugf(Ljava/lang/String;I)V
at org.hibernate.internal.NamedQueryRepository.checkNamedQueries(NamedQueryRepository.java:149)
为了解决这个问题,我做了一些研究,并做了以下尝试:
我找到了this question并使用 this article 中的脚本按照问题和this issue中的建议清理Glassfish的osgi缓存Glassfish/Payara Github 存储库的。重新启动服务器。同样的错误。
我找到了this question并尝试了第一个答案的建议,如下所示:查看依赖关系树,我发现 hibernate-entitymanager
具有以下依赖关系:
<dependency>
<groupId>org.jboss.logging</groupId>
<artifactId>jboss-logging</artifactId>
<version>3.3.0.Final</version>
<scope>compile</scope>
</dependency>
所以我搜索了我的服务器安装并找到了jboss-logging.jar
。安装的版本是 3.1.0-GA
(我现在不确定,但肯定是依赖项的先前版本)。我从 Maven Central Repository 下载了 jboss-logging-3.3.0.Final.jar
并替换了我的服务器安装中的那个。重新启动服务器。同样的错误。
上一篇文章(和其他文章)中的一些评论建议添加一个属性org.jboss.logging.provider=slf4j
,因为我正在使用这些依赖项进行日志记录:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.21</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.21</version>
<scope>test</scope>
</dependency>
我在 /glassfish/domains/domain1/config/
文件夹中找到了一些 .properties
文件,但它们都不包含这样的属性,我不知道在添加该属性的文件。我还在管理控制台中进行了一些搜索,但没有找到在哪里添加属性。我发现的唯一日志配置是配置日志级别。
之后,我找到了在管理控制台中放置 Glassfish 服务器的一些 JVM 选项的位置,并添加了 -Dorg.jboss.logging.provider=slf4j
作为选项,但对我来说不起作用(更重要的是,我必须重新启动计算机才能将 Glassfish 置于归零状态)
在此之前,我遇到了一个问题,并在 StackOverflow 中提出了另一个问题。指导this comment在那篇文章中,我更改了项目配置,但没有发生任何事情(我通过对依赖项进行一点更改解决了该问题,答案仍在等待中)
经过所有的尝试,我已经没有想法了,问题仍然存在。我不知道可能是什么问题。任何指导、帮助或答案将不胜感激。如果有人需要有关情况的更多详细信息,请告诉我。
预先感谢您的合作。
<小时/>我正在搜索并发现this article它的内容与我所做的类似,并为 jboss-logging
添加了提供的依赖项,如下所示:
<dependency>
<groupId>org.jboss.logging</groupId>
<artifactId>jboss-logging</artifactId>
<version>3.3.0.Final</version>
<scope>provided</scope>
</dependency>
但是错误仍然存在。显然这是服务器的问题,但我不知道是什么。我正在使用 GlassFish Server 开源版 4.1(内部版本 13)
最佳答案
我使用 JBoss 服务器 7.1 来部署我的项目。就我而言,此错误是由于我在项目中使用 jboss-logging-3.3.0.Final.jar 但 JBoss 7 有 jboss-logging-3.1.0.GA.jar (/opt/jboss-as-7.1.1.Final/modules/org/jboss/logging/main/) 默认情况下。所以,这可能是由于 jar 冲突或 jboss-logging-3.1.0.GA.jar 中不存在方法,我不确定。但是用 jboss-logging-3.3.0.Final.jar 替换 jboss-logging-3.1.0.GA.jar 并更改 module.xml 中的映射(位于上述相同位置),如下所示
<module xmlns="urn:jboss:module:1.1" name="org.jboss.logging">
<resources>
<resource-root path="jboss-logging-3.3.0.Final.jar"/>
<!-- Insert resources here -->
</resources>
<dependencies>
<module name="org.jboss.logmanager"/>
</dependencies>
</module>
错误消失了。希望对您有所帮助。
关于java - hibernate-entitymanager NoSuchMethodError : org. jboss.logging.Logger.debugf(Ljava/lang/String;I)V,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37767564/
我是 JBoss 的新手,发现了很多不同的术语 - JBoss EAP、JBoss Server、Wildfly、Jboss Web,以及很多不是最新的或针对旧版本的文档。 我从哪里开始了解 JBos
JBoss ESB 服务器之间有什么区别(可在此处获得:http://jbossesb.jboss.org/downloads/) 和 JBoss fuse ( http://www.jboss.or
我在我的 PC 上安装了 JBoss 4 到目录 C:\JBoss4 并将环境变量 JBOSS_HOME 设置为此目录: JBOSS_HOME=C:\JBoss4 我需要在同一台 PC 上安装 JB
我有一个 JBoss 服务器正在运行并且想要部署一个服务。 该服务连接到在以下 xml 文件中配置的数据库 jdbc:postgresql://localhost:543
jboss 中的超时是如何工作的?网络应用程序如何知道何时重定向到登录页面? 只是为了澄清! -我知道如何在 jboss 上配置超时。我的问题是,Jboss 如何知道 session 已超时以及何时超
使用JBoss Forge启动新项目时,默认情况下该项目是使用Maven构建系统创建的。我如何利用Forge 2. *的Gradle插件使用Gradle而不是Maven创建项目? % forge Us
当前配置: 正在运行的16个Pod,基于JBoss TCP的集群以及google ping发现。容器作为状态集部署在Kubernetes集群上。 没有负载的初始群集按预期运行,没有任何单个问题,但是当
我以为这将是一个 JBoss 常见问题解答,但我找不到它。 我想同时运行 JBoss 4 和 JBoss 5。我通过将端口的前导数字更改为 9 手动更改了 JBoss 5 服务器/默认实例上的所有端口
我们在 JBoss AS 6 上实现了一些服务作为我们希望迁移到 JBoss AS 7 的单例服务。 这些服务在 jboss-service.xml 文件中声明,该文件位于 EJB 包中,类似于以下代
例如,如何确定我的简单 JBoss 4.2.3 服务器正在监听端口 8080? 这是我最接近的一次,但这不起作用: MBeanServerConnection server = (MBeanServe
我正在尝试找到从语法上确定我的程序是在 Jboss 5 还是 Jboss 7 (eap-6.1) 上运行的最佳方法。到目前为止,我找到的方法是特定于 jboss 5 或 jboss 7 的,这不起作用
我在域模式下使用 JBoss 6.4.8 版本。我想通过 CLI 添加这 4 个系统属性: 1- /host=myserver/server-config=node/system-property=j
在 JBoss 4 中,您可以在文件中设置对象的部署顺序( .jar 、 .war 、 .sar 等...): conf/xmdesc/org.jboss.deployment.MainDeploye
概括地说,JBoss 5 的关闭有什么作用?如果我只是杀死 java 进程而不是优雅地关闭 JBoss,可能会出现什么问题? 对于我的应用程序来说,正常的 JBoss 5 关闭大约需要 6 分钟,这个
我最近在 CentOS 6.7 服务器上安装了 JBoss AS 7。 jboss as 工作正常。为了测试,我部署了一个 .war 文件并对其进行了测试,效果很好!但现在我尝试从我的台式电脑访问相同
我有 jboss 应用程序。并想自动测试部署。并希望将此任务作为项目添加到 Hudson 我的愿景基于以下阶段: 将我的应用程序放到 JBoss(复制耳朵、配置、库等) 运行 JBoss 我有一台 L
我对 JBoss 很陌生。目前我有一个需求,我需要在 JBoss 上部署应用程序(已经在 Tomcat 上运行)。我下载了 JBoss,但是版本 7 中的目录结构不同。 我正在运行 bin\stand
我是 JBoss AS 7 的新手。我尝试在 JBoss AS 7 上部署我的 war 文件,这似乎工作正常。我的问题是在哪里可以看到部署的内容。 我希望它像 Tomcat 一样,它应该有一个探索的
我使用多播方法在两个不同的 JBoss 服务器之间配置了集群。 当我启动两个 JBoss 服务器时,两个服务器都将连接。 一天后,我收到以下消息 server.log 中的群集开始显示错误 05:28
为了打开/关闭我们产品的跟踪-“类别”或“记录器”标签,我们应该在jboss-log4j.xml中使用什么? 默认情况下,JBoss在jboss-log4j.xml中使用“类别”。 但据我所知,不赞成
我是一名优秀的程序员,十分优秀!