`
towardsfuture
  • 浏览: 5188 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

maven项目src目录下的xml资源文件默认不编译至classes文件夹

阅读更多
如题,IDEA的maven项目中,默认源代码目录下的xml等资源文件并不会在编译的时候一块打包进classes文件夹,而是直接舍弃掉。

如果使用的是Eclipse,Eclipse的src目录下的xml等资源文件在编译的时候会自动打包进输出到classes文件夹。Hibernate和Spring有时会将配置文件放置在src目录下,编译后要一块打包进classes文件夹,所以存在着需要将xml等资源文件放置在源代码目录下的需求。

解决IDEA的这个问题有两种方式。

第一种是建立src/main/resources文件夹,将xml等资源文件放置到这个目录中。maven工具默认在编译的时候,会将resources文件夹中的资源文件一块打包进classes目录中。

第二种解决方式是配置maven的pom文件配置,在pom文件中找到<build>节点,添加下列代码:

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

其中<directory>src/main/java</directory>表明资源文件的路径,<include>**/*.xml</include>表明需要编译打包的文件类型是xml文件,如果有其它资源文件也需要打包,可以修改或添加通配符。
分享到:
评论

相关推荐

    Maven打包,指定classes路径

    默认情况下,Maven将编译后的Java类文件放置在`target/classes`目录下。对于Web应用,最终的WAR包会将这些类文件打包到`WEB-INF/classes`目录。然而,如果我们希望在打包过程中直接将类文件放入`WebContent/WEB-INF/...

    eclipse构建Maven项目.doc

    2. src/main/resources:存放配置文件、xml、properties文件等的文件夹,发布项目时该文件夹的文件也会复制到WEB-INF/class目录下。 3. src/main/webapp:Maven约定的WebRoot目录,发布项目时是发布到根目录/下的。 ...

    maven编译bindead资源

    当执行`mvn compile`命令时,Maven会根据`pom.xml`的配置,将`src/main/bindead`目录下的所有资源复制到目标目录(默认为`target/classes`),以便于打包或运行。如果bindead资源是二进制文件,通常不需要进行过滤...

    Maven项目中读取src/main/resources目录下的配置文件的方法

    这是因为src/main/resources目录下的文件在编译后会被copy到target/classes目录下。因此,我们需要使用`ClassLoader`来加载配置文件。例如: ```java Properties prop = new Properties(); prop.load(this.getClass...

    使用Eclipse构建Maven的SpringMVC项目

    2.2 调整编译路径:在项目的`Java Build Path`中,确保4个源文件夹的输出路径正确,`src/main/java`和`src/main/resources`指向`target/classes`,`src/test/java`和`src/test/resources`指向`target/test-classes`...

    [springmvc注解 + maven 完整项目]解决maven项目直接发布tomcat中 classes为空

    2. **未包含源代码**:Maven默认只打包编译后的`.class`文件,如果需要包含源代码,需要在`pom.xml`中添加`maven-source-plugin`插件。 3. **过滤器问题**:如果你使用了Maven的资源过滤功能,可能会导致某些文件...

    maven常用命令以及以个测试项目

    - `mvn package` 将编译后的代码和相关的资源文件打包成指定格式(如JAR、WAR),默认生成的文件会放在target目录下。 5. **安装到本地仓库**: - `mvn install` 会将打包后的文件安装到本地Maven仓库,供其他...

    一个简单的maven web 项目

    JSP文件最终会被Maven或Tomcat等Web服务器转换成Servlet并编译到WEB-INF/classes目录下。 3. **META-INF**:这个目录用于存储元数据,如MANIFEST.MF文件,它可以包含关于项目的信息,比如作者、版本、主类等。在...

    maven源码包

    2. **资源处理(Resource Processing)**:处理项目中的资源文件,如复制到目标目录,进行替换操作等。 3. **编译(Compilation)**:将源代码编译成字节码,生成到target/classes目录。 4. **测试(Testing)**:...

    如何用Maven编译java项目实例

    使用Maven编译Java项目,只需在命令行中输入`mvn compile`,Maven就会自动找到src/main/java目录下的源代码,进行编译,并将结果放在target/classes目录下。 5. **运行测试** Maven同样支持自动化测试,通过`mvn ...

    maven搭建ssm项目

    这个文件可能是项目打包后的结果,包含`WEB-INF`目录、`META-INF`目录以及`WEB-INF/classes`下的编译后Java类和资源文件,是可以在Web服务器上部署的应用程序。 总结,使用Maven搭建SSM项目是一个整合配置的过程,...

    Struts2 HelloWorld示例(Maven项目)

    5. **src/main/webapp/WEB-INF/classes**:编译后的Java类和资源文件会被部署到这里。 6. **src/main/webapp/WEB-INF/lib**:Maven会自动将项目依赖的JAR文件放入此目录,供Web应用使用。 在运行这个示例时,你...

    maven的优缺点 项目

    将maven的项目重新编译,在项目中右击,可以pom上右击,可以将pom(目录)下面的jar和war重新编译 如果出现以上情况,说明下载的jar包有问题,把这下面的文件删除,重新下载 每创建一个项目,都有pom.xml,所有的配置都...

    Maven项目中的热部署

    在Maven项目中,你可以配置"Application"类型的运行配置,勾选"Update classes and resources"选项,这样在修改代码后,IDEA会自动重新加载变化的类和资源。 4. Maven的maven-eclipse-plugin或maven-idea-plugin: ...

    maven多模块web项目

    对于Web项目,Maven会遵循特定的目录结构,如将静态资源放在`src/main/webapp`目录下,编译后的Java类放在`WEB-INF/classes`目录,而Web应用的元数据则位于`WEB-INF`下的`web.xml`文件。 在【压缩包子文件的文件...

    Maven 的配置文件路径读取方法

    Maven 的资源目录结构是指 src/main/resources 目录下的所有文件都会被编译到 target/classes 目录下。因此,在读取配置文件时,需要使用正确的路径来读取配置文件。例如,如果配置文件放在 src/main/resources/...

    使用Maven的struts2项目结构

    - `src/main/webapp/WEB-INF/classes`:Maven构建后,编译后的Java类和资源文件会放在这里。 - `src/main/webapp/WEB-INF/lib`:Maven会把所有依赖的JAR包放在这里。 - `src/main/webapp/struts-config.xml`:...

    使用Eclipse构建Maven的Web项目

    Maven的`pom.xml`文件将管理项目的依赖关系,Eclipse的Maven插件则会处理构建和编译过程,确保项目的构建一致性。在开发过程中,记得定期执行`mvn clean install`命令以更新本地Maven仓库并确保所有依赖都被正确解决...

    javaweb 读取 classes 下的文件

    在构建过程中,Maven会将`src/main/resources`目录下的文件复制到`classes`目录,因此在这个目录下读取的资源通常来自这里。 四、源码管理和工具 标签“源码”和“工具”可能指的是开发者使用版本控制系统(如Git)...

Global site tag (gtag.js) - Google Analytics