Запуск теста от Maven завершается неудачно и перестает строить банку - PullRequest
0 голосов
/ 29 июля 2010

Я пытаюсь собрать банку, используя maven, эта банка была построена с использованием муравья.

Когда я запускаю тесты из maven, я получаю:

ERROR org.hibernate.tool.hbm2ddl.SchemaValidator could not complete schema validation 
org.apache.commons.dbcp.SQLNestedException: Cannot load JDBC driver class 'net.sourceforge.jtds.jdbc.Driver'

что происходит от:

Caused by: java.lang.ClassNotFoundException: net.sourceforge.jtds.jdbc.Driver
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)

Когда я собираю jar без запуска test, он создается, но в нем отсутствуют некоторые файлы .class и .properties, поэтому этот jar работает не так, как ожидалось.

Чтобы быть более кратким, в моем банке отсутствуют скомпилированные файлы, которые должны приходить из папки / test.

Может быть, в моем файле pom.xml добавлены неправильные зависимости?

Ответы [ 2 ]

1 голос
/ 29 июля 2010

Я получаю (...) java.lang.ClassNotFoundException: net.sourceforge.jtds.jdbc.Driver

Скорее всего, вам не хватает зависимости jTDS. У вас есть это заявлено в вашем pom.xml?

<dependency>
  <groupId>net.sourceforge.jtds</groupId>
  <artifactId>jtds</artifactId>
  <version>1.2.4</version>
</dependency>

Используйте любую подходящую для вас версию (и, возможно, также настройте сферу).

Чтобы быть более кратким, в моем банке отсутствуют скомпилированные файлы, которые должны прийти из / test папка

Этого не произойдет и не должно произойти, тестовые исходники и ресурсы не будут упакованы в последний jav-файл Maven, что хорошо. Если предполагается, что эти файлы упакованы в последний jar, переместите их источники в дерево исходных текстов (не в дерево тестов).

0 голосов
/ 29 июля 2010

Возможно, в мой файл pom.xml добавлены неправильные зависимости?

Может быть .У вас наверняка должна быть объявлена ​​зависимость JTDS, если вы этого еще не сделали.

Что касается отсутствующих классов, ожидаете ли вы, что net.sourceforge.jtds.jdbc.Driver будет в вашем JAR?Если это так, вы ошибаетесь, это должно быть в JTDS JAR, который вы получаете отдельно.

В любом случае вы можете сделать тестовый шаг из уравнения.Начните с чистого каталога и просто запустите mvn compile.Затем посмотрите каталог target/classes, чтобы увидеть, какие классы были скомпилированы там.Если на этом этапе отсутствуют классы, Maven не находит их.Они находятся в папке src/main/java (или target/generated-sources для сгенерированных классов)?Ваш pom переопределяет шаблон сопоставления по умолчанию для фазы компиляции?

Вы на самом деле не предоставили много информации, поэтому я не могу сказать больше, чем проходить процесс один шаг за раз, глядя нарезультат каждого шага пути.Часто человек изначально сосредотачивается на неправильной области, и простой сдвиг внимания может быть всем, что необходимо для нахождения проблемы, которая ясна в ретроспективе.

...