Maven项目怎么读取resources配置文件?

项目目录结构:

clipboard.png

代码:

public class Generator {
    
    public void excute() {
        try {
            List<String> warnings = new ArrayList<String>();            
            ConfigurationParser cp = new ConfigurationParser(warnings);
            File  configFile = new File("." + File.separator + "generatorConfig.xml");
            Configuration config = cp.parseConfiguration(configFile);
            DefaultShellCallback callback = new DefaultShellCallback(true);
            MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
            System.out.println("开始生成文件...");
            myBatisGenerator.generate(null);
            System.out.println("生成文件完成.");
        } catch (Exception e) {
            e.printStackTrace();
        }      
    }
  

}

项目是用来生成mybatis相关文件的,但是一直报错:java.io.FileNotFoundException: generatorConfig.xml (系统找不到指定的文件。)

编译时,resources中的文件不是已经在classes下了吗,为什么?该怎么改?

阅读 21.6k
3 个回答
ClassLoader classloader = Thread.currentThread().getContextClassLoader();
InputStream is = classloader.getResourceAsStream("generatorConfig.xml");

maven项目中resources目录下就是classpath下。

你是运行测试包下的testgenerator 所以抱filenotfound吗 如果是 请建立java/test/resources目录 你可以看看你的target目录下应该在运行测试程序时 配置文件没有生成到编译后的路径下 那就自然找不到配置文件

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题