`

解决 IDEA 中src下xml等资源文件无法读取的问题

阅读更多

该问题的实质是,idea对classpath的规定。

在eclipse中,把资源文件放在src文件夹下,是可以找到的;

但是在idea中,直接把资源文件放在src文件夹下,如果不进行设置,是不能被找到的。

 

下面说说几种解决方法,网上说的都很混乱,我这里做一个总结:推荐方法4

 

1.将所有资源文件放在resources文件夹下

这样做很方便,比较容易想到,但是层次性就很差了,比如mybatis的映射配置文件mapper.xml,本来需要放在特定的包里面,与dao层,service层等层次为同一个层级,如今只能放在resource文件夹下,不方便分层;

 

2.如果该项目是maven项目:

配置maven的pom文件配置,在pom文件中找到<build>节点,添加下列代码:

 

[html] view plain copy
 
  1. <build>  
  2.     <resources>  
  3.         <resource>  
  4.             <directory>src/main/java</directory>  
  5.             <includes>  
  6.                 <include>**/*.xml</include>  
  7.             </includes>  
  8.         </resource>  
  9.     </resources>  
  10. </build>  

我尝试过将directory修改为具体的放置配置文件的包,即修改成 src/main/java/lj/necpu/mapperXML,然后<include>标签里面也做了很多修改和尝试,始终无法访问到配置文件;

 

所以,直接使用上面这样的配置就好;如果还是不能访问,欢迎跟帖讨论;如果你知道应该怎么样修改,也请跟帖讨论,谢谢~

参考:将IDEA maven项目中src源代码下的xml等资源文件编译进classes文件夹


3.将包含配置文件的包,mark directory as ... Resources:

直接右键点击包 -> Mark Directory As ,你会发现只有一个exclude;怎么办?

Project Structure -> Modules -> Sources -> 选择包含配置文件的package -> Mark as -> 选择第三个 Resources -> OK

参考:http://stackoverflow.com/questions/6104551/java-setting-classpath


4.将package添加到classpath里:

Project Struture -> Modules -> Dependencies -> "+" -> JARS or directories -> 选择包 

-> 弹出Choose Categories of Selected Files -> 选择Classes -> OK

参考:http://stackoverflow.com/questions/854264/how-to-add-directory-to-classpath-in-an-application-run-profile-in-intellij-idea


以上几种方法是在IDEA开发环境中可以找到资源文件,但是具体打包发布是否会包含该资源文件还需具体测试

我的测试结果是,4种方法均可以在发布时包含package中的xml文件。

0
0
分享到:
评论

相关推荐

    IDEA WEB项目启动不加载application.properties配置文件.docx

    在本篇文章中,我们将讨论IDEA WEB项目启动不加载application.properties配置文件的问题。这个问题可能是由于项目中使用的SpringBoot版本不一致引起的。下面我们将详细地分析问题的成因和解决方法。 一、问题描述 ...

    解决idea打包成功但是resource下的文件没有成功的问题

    然而,在进行项目打包过程中,有时会遇到资源文件(如配置文件、图片等)未能正确打包到最终的可执行文件中,这可能会导致程序运行时出现错误。本文将详细解释这个问题的原因,并提供两种解决方案。 问题描述: 当...

    生成ANT所需要的Build,xml文件

    1. **分析项目结构**:识别源代码目录(如src/main/java)、资源文件夹、测试代码目录(如src/test/java)和其他相关文件或目录。 2. **定义ANT任务**:根据项目结构创建编译、测试和打包任务。例如,`javac`任务...

    DOM4J读取XML

    在Java中,资源文件可以被放置在项目的类路径下,例如在src/main/resources目录中,通过这种方式获取路径,可以确保无论项目是在开发环境中还是部署后的环境中,都能正确找到资源文件。 #### 创建SAXReader对象 `...

    Intellij IDEA中使用maven filter遇到的问题

    在IntelliJ IDEA中使用Maven Filter功能时,开发者可能会遇到一些挑战,这些挑战主要涉及到配置、资源过滤以及与项目构建的交互。首先,我们来深入理解Maven Filter及其在IntelliJ IDEA中的应用。 Maven Filter是...

    idea插件开发-自定义语言

    - `src/main/resources`:存放资源文件,如图标、配置文件等。 - `META-INF`:包含插件的元数据信息。 6. **测试与发布** 开发完成后,使用IDEA的内置插件打包功能创建`.jar`或`.zip`文件,然后可以在IDEA的设置...

    基于DOM4j和POI实现的XML文件转换为XLS(即标准EXCEL)的JAVA程序

    在项目结构中,"xmlwork.iml"是IntelliJ IDEA的项目配置文件,"pom.xml"是Maven的项目配置文件,其中包含了项目的依赖,包括DOM4j和Apache POI的相关库。"src"目录包含源代码,"target"目录则是编译后的结果,包括...

    intellij idea 中调用kettle9.2.0.0-290样例

    根据描述,这个文件位于`src/main/resources`目录下,通常这是一个Maven项目的资源文件夹,用于存放应用运行时所需的非Java代码,如配置文件。`kettle-password-encoder-plugins.xml`可能是Kettle的一个插件配置文件...

    使用dom4j高效率xml解析,内涵demo程序,idea导入即可运行,适用于各种复杂xml的解析,给自己留作备份,有需要可下载。

    XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用于配置文件、数据交换、文档存储等领域。在Java中,DOM4J是一个强大的、灵活的处理XML的库,提供了全面的功能来读取、写入、修改XML文档。本...

    解析xml,生成java类

    3. 在处理XML文件时,注意处理可能的编码问题,确保读写时使用正确的字符集。 4. 为提高性能,可以缓存解析后的数据,避免重复解析。 总结,解析XML并生成Java类是Java开发中的常见任务,有多种方式和工具可供选择...

    idea引入aspose-words-15.8.0,idea引入外部jar方法

    - 如果你的项目使用了Maven或Gradle等构建工具,更推荐通过配置`pom.xml`或`build.gradle`文件来管理依赖,而不是直接添加本地JAR。这样可以更好地管理和升级依赖,同时也方便团队协作。 7. **版本兼容性** - ...

    怎么建立一个资源(配置文件)夹

    - 这样做之后,`config`文件夹中的文件就可以像`src/main/resources`下的文件一样被IDEA正确识别和处理了。 通过以上步骤,我们可以有效地建立并管理项目的资源文件夹,使得开发过程更加高效有序。这种方式不仅...

    spring mvc 读取配置文件

    首先,Spring MVC中的配置文件通常是指XML配置文件,如`applicationContext.xml`或`servlet-context.xml`,它们位于`src/main/resources`目录下。这些文件包含了Spring MVC应用的所有组件配置,如控制器(Controller...

    在IDEA中通过MyBatis框架访问达梦数据库

    5. **配置MyBatis**:在`src/main/resources`目录下创建MyBatis的核心配置文件`mybatis-config.xml`,并配置数据库连接信息。 ```xml &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;!DOCTYPE configuration PUBLIC "-...

    maven 过滤文件夹打包

    `env`变量在`maven-antrun-plugin`中通过读取系统环境变量`NODE_ENV`设置,这样当我们在不同环境中执行`mvn package`时,Maven会自动选择相应的配置文件。 例如,如果在开发环境中执行`NODE_ENV=dev mvn package`,...

    使用IDEA开发Scala程序.docx

    按照Maven的标准目录结构,创建src/main/scala和src/main/resources等目录,以便存放源代码和资源文件。 5. 新建Scala代码文件。在src/main/scala目录下,创建一个名为"WordCount.scala"的文件,编写WordCount程序...

    如何解决springboot读取配置文件的中文乱码问题

    下面将详细介绍如何解决Spring Boot读取配置文件时的中文乱码问题。 首先,我们需要理解编码的基本概念。在计算机中,文本是以二进制形式存储的,而编码则是一种规则,用于将字符转换为二进制和反向转换。UTF-8是最...

    SpringBoot之logback-spring.xml不生效的解决方法

    当使用logback作为日志框架时,通常我们会将配置文件放在`src/main/resources`目录下,命名为`logback-spring.xml`,这是因为Spring Boot默认支持`logback-spring.xml`,它能与Spring的自动配置机制集成。...

    intelliJ Idea SpringBoot MySQL实例

    在src/main/resources目录下创建application.properties文件,输入数据库连接信息: ```properties spring.datasource.url=jdbc:mysql://localhost:3306/testdb?useSSL=false&serverTimezone=UTC spring.datasource....

    android 毕业设计,Xml解析和设计模式应用了高保真界面设计。

    `src`包含源代码,其中`main/java`存放Java代码,`main/res`存放资源文件如XML布局和图片。`lib`可能包含外部库或依赖。 6. **学习与实践**: 这个项目作为学习和入门Android开发的实例,可以帮助初学者理解如何将...

Global site tag (gtag.js) - Google Analytics