我写了一个如下所示的java代码
select top 1 rc.XmlContent.value('count(//a/b)', 'int') from Table rc
当我从IntelliJ运行时,一切正常,但是当我使用创建的jar部署应用程序时,它会给出以下异常
String readFile(String schemaFileName) throws IOException {
ClassPathResource classPathResource = new ClassPathResource("abc/" + schemaFileName);
return FileUtils.readFileToString(classPathResource.getFile(), StandardCharsets.UTF_8);
}
在我的jar中,我可以看到目录
Caused by: java.io.FileNotFoundException: class path resource [abc/myfile] cannot be resolved to absolute file path because it does not reside in the file system: jar:file:/my_application.jar!/BOOT-INF/classes!/abc/myfile
at org.springframework.util.ResourceUtils.getFile(ResourceUtils.java:215) ~[spring-core-4.3.9.RELEASE.jar!/:4.3.9.RELEASE]
我错过了什么?
答案 0 :(得分:0)
如果您的classpath*:my.config
和spring-context.xml
文件位于不同的jar中,则需要使用my.config
另外,从jar文件中加载时,请确保使用resource.getInputStream()
而不是resource.getFile()
。
可以找到更多详细信息here