java - 从 Maven 运行测试失败并停止构建 jar

标签 java testing maven-2 build

我正在尝试使用 maven 构建一个 jar,这个 jar 是使用 ant 构建的。

当我从 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 时,它已构建但缺少一些 .class 和 .properties 文件,因此此 jar 未按预期运行。

为了更简洁,我的 jar 中缺少应该来自/test 文件夹的编译文件。

可能是我的 pom.xml 中添加了一些错误的依赖项?

最佳答案

I get a (...) 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>

使用适合您的任何版本(也可能调整范围)。

To be more concise , in my jar are missing compiled files which should come from /test folder

这不会发生也不应该发生,测试源和资源不会被 Maven 打包到最终的 jar 中,这是一件好事。如果这些文件应该打包在最终的 jar 中,请将它们的源移动到源代码树(而不是测试树)。

关于java - 从 Maven 运行测试失败并停止构建 jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3364934/

相关文章:

java - Hashmap 的 containsKey 方法是线程安全的,如果映射被初始化一次,并且永远不会被再次修改

java - 将 csv 文件读入数组

php - Codeigniter:如何测试在构造函数中采用 Controller 实例的库?

java - 创建包含多个文件和目录的 Maven 版本

maven-2 - 如何编辑 Maven pom 文件?

java - 在自定义 JSP 标记范围内嵌套 JSP

testing - 在 fakeApplication() 中为 Play 设置语言! 2.0.2

testing - 使用 Grails 构建测试数据插件创建对象而不保存它

javascript - 为 Javascript 构建自动化和部署

java - 如何在 XCode 中从 "Java JNI Application"模板开始使用 Objective-C?