Если вы не хотите использовать js, я думаю, вы можете использовать <a href="javascript:void(0);"></a>
вместо img
, а затем использовать css, например
a {
background: url('oldImage.png');
}
a:visited {
background: url('newImage.png');
}
EDIT: Nope. Извините, он работает только для :hover
Эта проблема была вызвана конфликтом в банках модулей JBoss. Замена файла jboss-logging
его последней версией решила проблему для меня. Файл находится в папке modules\system\layers\base\org\jboss\logging\main
Кроме того, вы должны заменить имя jar в файле module.xml
новым именем jar. Файл находится в той же папке.
Метод org.jboss.logging.Logger.debugf
доступен только в версии 3.3.0 jboss-logging, если у вас есть эта зависимость в вашем проекте, вы также должны проверить, что ваш сервер GlassFish также имеет ту же версию. У меня было такое же сообщение об ошибке, и я решил его заменить jboss-logging.jar в папке установки Glassfish, потому что эта банка является предыдущей версией и у нее нет необходимого метода. Например, у меня есть jar в следующем пути:
C:\Program Files\glassfish-4.1.1\glassfish\modules\jboss-logging.jar
Я удалил старую банку, и я поставил новую банку с тем же именем, но с версией 3.3.0. Просто перезапустите сервер GlassFish, и он возьмет новую версию jar, и все.
У меня была аналогичная проблема, я смог ее исправить, создав файл glassfish-web.xml
в каталоге WEB-INF
. Содержимое файла показано ниже:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
<glassfish-web-app>
<class-loader delegate="false"/>
</glassfish-web-app>
Это гарантирует, что стеклянная рыба не загрузит его внутренние библиотеки, а библиотеки из вашего проекта.
Я нашел шаги в этой статье полезными при разрешении ошибки. http://sanjayingole.blogspot.in/2015/10/caused-by-javalangnosuchmethoderror.html
Шаги, которые следует выполнить коротким (если использовать Eclipse) -
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>${hibernate.version}</version>
<exclusions>
<exclusion>
<artifactId>jboss-logging</artifactId>
<groupId>org.jboss.logging</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<artifactId>jboss-logging</artifactId>
<groupId>org.jboss.logging</groupId>
<version>3.2.0.Final</version>
</dependency>
hibernate-entitymanager введет jboss-logging как зависимость, но не является самой последней версией и не имеет этого метода. Похоже, вам не нужен jboss-logging, поэтому попробуйте исключить его:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>5.0.1.Final</version>
<exclusions>
<exclusion>
<groupId>org.jboss.logging</groupId>
<artifactId>jboss-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
Или, если окажется, что вам нужно jboss-logging для спящего режима, затем добавьте более позднюю версию jboss-logging как дополнительная зависимость.
<dependency>
<groupId>org.jboss.logging</groupId>
<artifactId>jboss-logging</artifactId>
<version>3.3.0.Final</version>
</dependency>
Если вы используете майку из стекловолокна, то bean-validator приходит как зависимость, а tomcat, конечно же, пытается загрузить из нее класс Logger.
Классы-валидаторы также содержат класс Logger в том же пакете.
Исключить банку, чтобы решить проблему
<dependency>
<groupId>org.glassfish.jersey.ext</groupId>
<artifactId>jersey-spring3</artifactId>
<version>2.24.1</version>
<exclusions>
<exclusion>
<artifactId>spring-aop</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
<exclusion>
<artifactId>bean-validator</artifactId>
<groupId>org.glassfish.hk2.external</groupId>
</exclusion>
</exclusions>
</dependency>