2016-08-04 87 views
1

我在win10上使用maven + mybatis。在mybatis中找不到资源

文件结构如下:

├─src 
│ ├─main 
│ │ ├─java 
│ │ │ └─com 
│ │ │  └─company 
│ │ │   └─app 
│ │ │    └─mybatisInsert.java 
│ │ │    ─SqlMapConfig.xml 
│ │ │    ─Student.java 
│ │ │    ─Student.xml 
│ │ └─resources 
│ └─test 
│  └─java 
└─target 

所以你可以看到,SqlMapConfig.xml是在同一个目录中mybatisInsertmybatisInsert是包含主类的文件。是该文件的内容如下:

package main.java.com.company.app; 

import java.io.IOException; 
import java.io.Reader; 

import org.apache.ibatis.io.Resources; 

public class mybatisInsert { 

    public static void main(String args[]) throws IOException{ 

     Reader reader = Resources.getResourceAsReader("SqlMapConfig.xml"); 
    } 

} 

它不工作,我得到了一个错误:

Exception in thread "main" java.io.IOException: Could not find resource SqlMapConfig.xml 
     at org.apache.ibatis.io.Resources.getResourceAsStream(Resources.java:114) 
     at org.apache.ibatis.io.Resources.getResourceAsStream(Resources.java:100) 
     at org.apache.ibatis.io.Resources.getResourceAsReader(Resources.java:160) 
     at main.java.com.cisco.ng.mybatisInsert.main(mybatisInsert.java:15) 

我试图路径chanage到下面,他们没有工作。

我该如何让它工作?

+3

尝试将XML文件放入资源并在其中添加斜杠Resources.getResourceAsReader(“/ SqlMapConfig.xml”); – Jens

+1

只有java文件属于src/main/java。其他的东西应该放在src/main/resources中。 – f1sh

回答

1

非常感谢@Jens,最后我通过将SqlMapConfig.xml放在resource目录中解决了这个问题。