class & ldquo; org.hamcrest.Matchers & rdquo; 's signer не соответствует информации подписчика других классов в одном пакете [дубликат]

Если вы не хотите устанавливать фиксированную ширину на что-либо

Нижеприведенное решение позволяет иметь содержимое ячейки таблицы, которое является длинным, но не должно влиять на ширину родительской таблицы, высота родительской строки. Например, если вы хотите иметь таблицу с width:100%, которая по-прежнему применяет функцию автоматического размера ко всем другим ячейкам. Полезно в сетях данных с колонками «Примечания» или «Комментарий» ./

Добавьте эти 3 правила в свой CSS:

.text-overflow-dynamic-container {
    position: relative;
    max-width: 100%;
    padding: 0 !important;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    vertical-align: text-bottom !important;
}
.text-overflow-dynamic-ellipsis {
    position: absolute;
    white-space: nowrap;
    overflow-y: visible;
    overflow-x: hidden;
    text-overflow: ellipsis;
    -ms-text-overflow: ellipsis;
    -o-text-overflow: ellipsis;
    max-width: 100%;
    min-width: 0;
    width:100%;
    top: 0;
    left: 0;
}
.text-overflow-dynamic-container:after,
.text-overflow-dynamic-ellipsis:after {
    content: '-';
    display: inline;
    visibility: hidden;
    width: 0;
}

Отформатируйте HTML таким образом в любой ячейке таблицы, в которой требуется динамическое переполнение текста:


  
    
      //...your long text here...
    
  

Дополнительно примените желаемый min-width (или вообще ничего) к ячейке таблицы.

Конечно, скрипка: https://jsfiddle.net/9wycg99v/23/

40
задан Chris Morgan 7 May 2012 в 01:27
поделиться

18 ответов

Это сайт, который помогает мне решить проблему.

http://code.google.com/p/hamcrest/issues/detail?id=128

hamcrest.jar должен идти до библиотеки Junit в пути сборки.

63
ответ дан beachw08 21 August 2018 в 03:52
поделиться
  • 1
    Важно помнить (сначала не совсем понятно), что hamcrest (или jmock) должен быть до junit на вкладке Order and Export, а не Libraries. – Schultz9999 5 August 2013 в 00:23
  • 2
    Я использую Maven; даже несмотря на то, что я перечисляю баннеры hamcrest перед JUnit в моем pom.xml, Eclispe все еще, кажется, использует свои внутренние банки Junit / Hamcrest, поэтому я все равно получаю ошибку «Signer information not match». Запуск «mvn test» за пределами Eclipse выполняется без ошибок. В приведенной выше ссылке не упоминается Maven. Любые советы или помощь, чтобы заставить Eclipse JUnit работать? – djb 4 October 2013 в 19:11
  • 3
    Я нахожусь на той же лодке, что и dbj (вышеупомянутый поток). В нашем проекте используются Eclipse и Maven, и я не смог решить эту проблему по причинам, изложенным выше. Я часами искал решение и никогда не нашел его. Однако, в поисках лучшего механизма утверждения, я нашел FEST-ASSERT. Я думаю, что это лучше, чем Hamcrest, поэтому моя проблема теперь решена (хотя и не так, как я изначально планировал). – Robert Patterson 25 October 2014 в 18:02
  • 4
    была та же проблема. Ваше решение сработало для меня. Thanx! – Invy 31 October 2014 в 19:12
  • 5
    – Timothy Dalton 18 May 2017 в 07:01
  • 6
    Из ссылки для ленивого: «Easy Fix: замените $ ECLIPSE_HOME \ plugins \ org.hamcrest.core_1.3.0.v201303031735.jar на Maven hamcrest-core-1.3.jar (очевидно, переименовав его под тем же именем, что и банда затмения) & quot; ; – lmo 11 January 2018 в 09:40

Если вы используете проект Maven, просто удалите библиотеку Junit из пути сборки и вместо этого импортируйте Junit и Hamcrest отдельно через POM.

1
ответ дан Avinav K 21 August 2018 в 03:52
поделиться

Эта проблема разрешила мою проблему:

Замените $ ECLIPSE_HOME \ plugins \ org.hamcrest.core_1.3.0.v201303031735.jar с Maven или hamcrest-core-xx.jar вашего файла проекта (очевидно, переименовав его с тем же именем, что и затмение eclipse)

0
ответ дан Chetan Gole 21 August 2018 в 03:52
поделиться

Йохан Марк (выше) предложил

переименовать файл $ECLIPSE_HOME\plugins\org.hamcrest.core_1.3.0.v201303031735.jar в нечто вроде *.bak или удалить файл. "

Переименование / удаление файла заставило мою библиотеку Eclipse Junit перестать работать, но заменив файл JAR на копию той же самой версии из моего репозитория Maven, проблема с сертификатом исчезла.

(Как заметил кто-то из Google, Eclipse Junit копия hamcrest имеет сертификат, но копия Maven не ...)

2
ответ дан cramopy 21 August 2018 в 03:52
поделиться

Я просто удалил библиотеку JUnit из моей конфигурации проекта. Я все еще могу запустить тесты, поскольку JUnit также включен в мой файл pom. Таким образом, решение просто использует библиотеку от Maven.

11
ответ дан Hunsu 21 August 2018 в 03:52
поделиться
  • 1
    Это помогло мне. По какой-то причине даже когда junit4 эллипса находился под библиотекой maven, это не сработало. – user 25 August 2016 в 11:38

Прежде всего убедитесь, что вы добавили зависимость JUnit в файл POM.xml.

Теперь щелкните правой кнопкой мыши по проекту и перейдите к свойствам, выберите путь сборки Java и выберите вкладку «Библиотеки».

В моем случае были Maven-зависимости, JRE и Junit4. И я просто удалил библиотеку Junit, и она работает для меня. Или можно также изменить порядок библиотек, поскольку из-за порядка сборки Hamcrest и JUnit4 возникла проблема.

3
ответ дан imbond 21 August 2018 в 03:52
поделиться

У меня была точно такая же проблема. Я создал новый проект и решил проблему.

0
ответ дан infant_coder 21 August 2018 в 03:52
поделиться

Я вошел в свойства сборки для проекта и сменил JUNIT с версии 4 на версию 3, и теперь он отлично работает.

Интересно, что у меня все еще есть версия 4 в моем pom.xml, поэтому я склонен к подумайте, что это проблема затмения (я смог построить и запустить мои тесты через терминал просто отлично).

0
ответ дан jbunton10 21 August 2018 в 03:52
поделиться

моя среда Mac OS + eclipse, я нашел org.hamcrest.core_1.3.0.v201303031735.jar в моем JUnit 4, поэтому я не могу сделать это вперед, чем junit.jar.

, поэтому я удаляю его из пути ~ / .p2 / pool / plugins /, а затем обновляю проект, он работает.

0
ответ дан jet.lau 21 August 2018 в 03:52
поделиться

Я решил эту проблему, удалив библиотеку Junit4 из пути сборки и добавив библиотеку TestNG в путь сборки и импортированные аннотации TestNG вместо аннотаций Junit4 в моей программе java.

1
ответ дан Jlearner 21 August 2018 в 03:52
поделиться

У меня было то же исключение. Как и рекомендованный beachw08, я упомянул:

http://code.google.com/p/hamcrest/issues/detail?id=128

В одном из сообщений говорилось:

переименовать файл $ ECLIPSE_HOME \ plugins \ org.hamcrest.core_1.3.0.v201303031735.jar на что-то вроде * .bak или удалить файл.

Я сделал это, и он решил мою проблему.

2
ответ дан John Mark 21 August 2018 в 03:52
поделиться

Используйте junit-dep.jar, а не junit.jar - это JUnit минус его зависимости. Junit.jar содержит старую версию Hamcrest.

6
ответ дан Kkkev 21 August 2018 в 03:52
поделиться

У меня недавно была эта проблема с eclipse и Junit.

Чтобы решить эту проблему, я сделал это:

1 - Загрузите последнюю банку hamcrest-all отсюда: https://storage.googleapis.com/google-code -archive-downloads / v2 / code.google.com / hamcrest /

2- Перейдите в папку установки eclipse: eclipse / plugin / и найдите org.hamcrest ... jar

3- сделайте резервную копию шага 2-го шага и замените его на шаге 1-го шага (переименуйте его так же, как и шаг 2).

4- перезапустите eclipse

После этого моя проблема была решена.

0
ответ дан Ravi NAGALINGAM 21 August 2018 в 03:52
поделиться

У меня была та же проблема, что и здесь. Я считаю, что проблема сводится к файлу junit4 jar.

Если в редакторе eclipse pom вы просматриваете иерархию junit4, вы увидите, что она имеет зависимость от hamcrest-core (т. е. hamcrest-core будет по умолчанию затягиваться при компиляции). В моем модульном тестовом коде я использую сборник Hamcrest Matchers (org.hamcrest.collection). Они не включены в основную банку, и я установил зависимость от hamcrest - все в pom. Выполнение этого дублирует включение hamcrest-core и, как представляется, оставляет вас открытым для несоответствия версии с зависимостью junit hamcrest-core и, следовательно, исключение безопасности. Я удалил зависимость hamcrest-all и заменил ее на hamcrest-библиотеку, и исключение исчезло.

Если вы используете только основной hamcrest, тогда вы не должны настраивать свою собственную зависимость и полагаться на версию junit, которая вытягивает В качестве альтернативы, как предложено в другом комментарии, используйте junit-dep, чтобы удалить зависимость junit, а затем включить hamcrest-all.

0
ответ дан Richard B 21 August 2018 в 03:52
поделиться

В моей настройке Eclipse внутри Project в разделе «Путь сборки Java», в библиотеках я ранее добавлял внутреннюю библиотеку JUnit, которая использует JUnit версии 4.8 и hamcrest-core версии 1.1. Я считаю, что это вызвало эту ошибку в моем случае.

Я оставляю эту информацию здесь, возможно, кто-то другой выиграет от моего опыта.

7
ответ дан RockyMM 21 August 2018 в 03:52
поделиться

При попытке решить эту проблему для вашего конкретного контекста, помните, что трассировка стека выше - это просто симптом. Решения могут работать для некоторых людей, но не для других.

Например:

  • Помещение JAR Hamcrest до того, как JUnit JAR в пути к классам будет работать в ситуациях, когда версия используемого JUnit (старше) содержит классы Hamcrest
  • . Наложение версии Hamcrest, используемой внутри Eclipse с версией «запаса», которая была переименована в соответствие с внутренней версией, может работать, если ни один другой набор плагинов Eclipse не использует манифест информация в исходном внутреннем JAR

В моем случае вышеприведенный симптом был вызван JAR Hamcrest, который был использован внутри компании и предоставлен Eclipse, и когда я попытался заменить его переименованным «запасом» версия, все, что связано с JUnit, не загрузилось при запуске Eclipse. После того, как я вернусь к исходной внутренней версии, возвращается SecurityException. Решение, которое работало для меня, состояло в том, чтобы удалить манифест в JAR с помощью 7-Zip. Это эффективно «без знака» JAR, и теперь моя конкретная конфигурация работает.

0
ответ дан user6629913 21 August 2018 в 03:52
поделиться

Я сделал следующее:

Сначала в pom-файле я исключил hamcrest-core из junit-зависимости и использовал вместо hamcrest-all. Второй я удалил из пути сборки Eclipse JUNIT, поскольку он переопределяет maven one. Заказ не повлиял на мои баночки, так как плохая банда была исключена.

0
ответ дан user666 21 August 2018 в 03:52
поделиться

Если вы получаете следующее исключение: «java.lang.SecurityException: информация о подписчике класса« org.hamcrest.Matchers »не соответствует информации о подписчиках других классов в одном пакете», убедитесь, Библиотека Junit в пути сборки. Вы можете настроить порядок в свойствах проекта в разделе «Путь сборки Java» на вкладке «Заказ и экспорт». нажмите ниже ссылку на изображение для большей ясности: http://i.stack.imgur.com/Y5R15.png

1
ответ дан Vaibhav Gupta 21 August 2018 в 03:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: