Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven 在部署的项目中找不到pom文件中列出的依赖项_Maven_Spring Boot - Fatal编程技术网

Maven 在部署的项目中找不到pom文件中列出的依赖项

Maven 在部署的项目中找不到pom文件中列出的依赖项,maven,spring-boot,Maven,Spring Boot,我问了一个问题,我想我可能已经找到了问题的根源。我有一个Spring Boot应用程序,它使用一个数据源,net.sourceforge.jtds.jdbc.Driver,Spring Boot 2.0.2应该附带Spring Boot starter jpa。然而,当我跑的时候 jar tf my.jar | grep jtds 找不到驱动程序类(服务器上没有列出类路径的maven可执行文件)。我检查类路径所做的一切都反映出jar不在那里 我在两个场景中完成了这项工作:1)当我没有显式地将ja

我问了一个问题,我想我可能已经找到了问题的根源。我有一个Spring Boot应用程序,它使用一个数据源,
net.sourceforge.jtds.jdbc.Driver
,Spring Boot 2.0.2应该附带
Spring Boot starter jpa
。然而,当我跑的时候

jar tf my.jar | grep jtds

找不到驱动程序类(服务器上没有列出类路径的maven可执行文件)。我检查类路径所做的一切都反映出jar不在那里

我在两个场景中完成了这项工作:1)当我没有显式地将jar添加到pom中时,我在上一篇文章中报告了错误。2) 当我显式地将它添加到pom时,我得到以下错误:

java.lang.IllegalStateException: Cannot load driver class: net.sourceforge.jtds.jdbc.Driver

有人能告诉我发生了什么事吗??我不明白为什么这个类不能被找到和加载。

请注意,在Spring Boot的父POM中


如果您还想在生产代码中使用此依赖项的类,请将Maven
范围更改为
编译
请注意,在Spring引导父POM中


如果您希望在生产代码中也使用此依赖项的类,请将Maven
作用域
更改为
编译
确定,通过添加具有
运行时
作用域的依赖项来解决问题。

确定,通过添加具有
运行时
作用域的依赖项来解决问题

在打包jar的子pom中,您应该 SpringBootMaven插件。和依赖性如下所示:


net.sourceforge.jtds
jtds
在父pom中:


net.sourceforge.jtds
jtds
${jtds.version}
在打包jar的子pom中,您应该 SpringBootMaven插件。和依赖性如下所示:


net.sourceforge.jtds
jtds
在父pom中:


net.sourceforge.jtds
jtds
${jtds.version}

非常感谢您的回答!但在我的有效pom中,依赖项已经列为compile。我还是按照你的建议做了,jtds仍然不包括在内-(啊,那太接近了……我已经想到要给你指出
运行时
,但是排除
测试
范围是第一步,我感谢你的回答!但是在我的有效pom中,依赖项已经列为compile。我按照你的建议做了,jtds仍然没有包括在内:-(啊,那太接近了……我已经想到要给你指出
运行时
,但是排除
测试
范围是实现这一点的第一步
<dependency>
<groupId>net.sourceforge.jtds</groupId>
<artifactId>jtds</artifactId>
</dependency>
<dependency>
<groupId>net.sourceforge.jtds</groupId>
<artifactId>jtds</artifactId>
<version>${jtds.version}</version>
</dependency>