gpt4 book ai didi

java - FileNotFoundException : mybatis configuration, 映射器

转载 作者:行者123 更新时间:2023-12-02 03:41:48 25 4
gpt4 key购买 nike

这是我的第一个部署 Maven 项目。我是基于Netty和myBatis开发的

编辑:

它位于 src 目录树下。

├─main
│ ├─java
│ │ └─kr
│ │ └─stocktalk
│ │ ├─chat
│ │ │ ├─bean
│ │ │ ├─client
│ │ │ ├─codec
│ │ │ ├─common
│ │ │ └─lib
│ │ ├─cloudmessage
│ │ ├─db
│ │ │ ├─clients
│ │ │ └─dynamo
│ │ │ └─mappers
│ │ ├─handler
│ │ │ ├─chat
│ │ │ └─page
│ │ └─mybatis
│ │ ├─bean
│ │ ├─mapper
│ │ └─sql
│ └─resources
│ ├─error
│ ├─html
│ │ └─test
│ ├─mybatis
│ │ └─sql
│ └─snippet
└─test
├─java
└─resources

这是我的目标目录结果mvn编译

pom.xml
targets
├─classes
│ └─kr
│ └─stocktalk
│ ├─chat
│ │ ├─bean
│ │ ├─client
│ │ ├─codec
│ │ ├─common
│ │ ├─handler
│ │ └─lib
│ ├─cloudmessage
│ ├─db
│ │ ├─clients
│ │ └─dynamo
│ │ └─mappers
│ ├─handler
│ │ └─page
│ └─mybatis
│ ├─bean
│ ├─mapper
│ └─sql
├─generated-sources
│ └─annotations
├─resources
│ ├─error
│ ├─html
│ │ └─test
│ ├─mybatis
│ │ └─sql
│ └─snippet
└─test-classes

我想将mybatis-conf.xml放在resources/mybatis下,其中包含mybatis配置信息。

SqlSessionFactoryManager类中,我写了这样的代码

String resource = System.getProperty("user.dir") 
+ "/target/resources/mybatis/mybatis-conf.xml";
Reader reader = Resources.getResourceAsReader(resource);

if (sqlSessionFactory == null) {

sqlSessionFactory = new SqlSessionFactoryBuilder()
.build(reader);
}
...

但是出现错误。

java.io.IOException: Could not find resource d:\workspace\stocktalk-chat/target/resources/mybatis/mybatis-conf.xml

当我尝试使用绝对路径加载mybatis-conf.xml时,然后加载一个文件就可以了,很好。好吧..现在我可以看到另一个问题。

The error may exist in mybatis/sql/User.xml
Cause: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resource mybatis/sql/User.xml

为什么getResourceAsReader找不到我的配置文件?如何使用相对路径加载 mybatis-conf.xml

最佳答案

我认为你在你的项目中使用了maven。所以,当maven项目打包(mvn package或mvn编译)时,如果你没有配置build元素,那么maven只会默认将类文件移动到目标。所以如果你想要将 *.properties *.xml *..... 文件打包到目标,您必须在 build 元素下配置 resources 元素例如:

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>

<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.properties</include>
</includes>
</resource>
</resources>
</build>

如果你查看文件(mybatis-config.xml)是你的路径,它确实不存在。

关于java - FileNotFoundException : mybatis configuration, 映射器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36762200/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com