自己使用的java ide一直是IDEA,在项目中需要使用maven的filter进行开发、线上环境的不同的变量的管理,根据maven-war-plugin进行过滤时,总是不能得到预期的变量替换。最终在idea的官网找到了问题所在:
IntelliJ IDEA's Make features are capable of filtering Maven resources. However, IntelliJ IDEA yet does not support filtering web resources.
很悲剧,浪费了一上午的时间解决这个问题。
最后的解决办法是:要么创建module时,对需要使用filter功能的文件不要放在web module中;要么通过ant命令或自行写maven插件解决,在idea编译后、运行web容器前,将target\classes目录下的文件复制到target\web_fileName\WEB-INF\classes下面(因为idea对target\classes下面的文件进行filter,而不会对web_fileName\WEB-INF\classes下面的文件进行过滤)。最终还是自己写了个maven插件搞定,源代码见附件。
附两种filter的使用:
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<filters>
<filter>
${base.dir}/*.properties
</filter>
</filters>
<webResources>
<resource>
<directory>
${base.dir}/src/webapp/patches/
</directory>
<includes>
<include>resources-config.xml</include> <!--对哪些文件进行filter-->
</includes>
<filtering>true</filtering> <!--启用filter功能-->
<targetPath>WEB-INF/classes</targetPath>
</resource>
</webResources>
</configuration>
</plugin>
通用filter配置(可解决idea中的问题)
<build>
<filters>
<filter>${user.home}/filter.properties</filter>
</filters>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>**/*.*</include>
</includes>
</resource>
</resources>
</build>
分享到:
相关推荐
在本文中,我们将深入探讨如何在IntelliJ IDEA(IDEA)中使用Maven构建一个包含SpringMVC和Mybatis的Web项目。首先,我们需要理解这三个核心组件:IDEA是流行的Java开发集成环境,Maven是项目管理和构建工具,而...
通过上述步骤,我们不仅了解了如何在IDEA 2017版中创建Scala项目并使用Maven管理依赖,还学会了如何利用IDEA的内置功能来提高开发效率。Scala与Spark的结合为大数据处理带来了极大的便利,而IDEA作为一款强大的集成...
在本文中,我们将深入探讨如何使用IntelliJ IDEA 2017.3版本来创建一个基于Struts2框架的第一个Web应用程序。Struts2是一个强大的、开源的MVC(Model-View-Controller)框架,它简化了Java Web开发,提高了代码的可...
在开发Java Web应用程序时,IDEA(IntelliJ IDEA)是一款非常流行的集成开发环境,而Maven则是一个强大的项目管理工具。本篇文章将详细介绍如何在IDEA中利用Maven创建一个基于Servlet 3.x和Web 3.x标准的工程模板。 ...
在本文中,我们将详细介绍如何在IntelliJ IDEA(IDEA)环境下使用Maven构建一个基于SSM(Spring、SpringMVC、MyBatis)框架的项目,并实现登录拦截和注解式事务管理,同时数据库选用MySQL。 首先,我们需要了解SSM...
本文将详细讲解如何使用IntelliJ IDEA(Idea)、Maven和Spring MVC框架来创建一个登录过滤器,以及如何将这个过滤器作为请求拦截器应用于实际项目中。 首先,让我们理解一下`Idea`、`Maven`和`Spring MVC`。`Idea`...
在IntelliJ IDEA中应用JavaEE,首先需要安装JavaEE相关的插件。通过"File" -> "Settings" -> "Plugins",搜索“JavaEE”或“GlassFish”,找到并安装对应的插件,如“Java EE”或“GlassFish Server”。安装完成后,...
在本文中,我们将详细介绍如何使用IntelliJ IDEA (Idea) 和 Maven 来构建一个基于SSH(Struts2 + Hibernate5 + Spring5)的开发环境。这个环境将为Java Web项目提供一个强大的基础架构,方便进行业务逻辑处理、数据...
在 IntelliJ IDEA 中创建一个 Maven 项目,首先启动软件并选择“File”菜单中的“New Project”。 **1.2 选择 Maven 并配置 JDK** 在新项目向导中选择左侧的“Maven”选项,接着配置项目的 JDK。如果之前已经添加...
3. 在代码中使用Log4j进行日志输出,比如: ```java import org.apache.log4j.Logger; public class MyClass { private static final Logger logger = Logger.getLogger(MyClass.class); public void ...
IntelliJ IDEA是一款广受欢迎的集成开发环境(IDE),尤其在Java和Scala开发者中有着极高的赞誉。"scala-intellij-bin-2021.3.6.zip"是一个压缩包,包含了用于在IntelliJ IDEA中支持Scala开发的特定版本插件。 这个...
本篇将详细介绍如何在IntelliJ IDEA中利用Maven创建一个SSM项目,并讲解配置过程。 1. **创建Maven项目** - 在IntelliJ IDEA中,选择`File` > `New` > `Module`来创建新项目。 - 填写`GroupId`、`ArtifactId`和`...
在Java开发环境中,IDEA(IntelliJ IDEA)通常被用来管理这样的项目。 首先,Spring作为核心容器,负责管理对象的生命周期和依赖注入。它通过XML或注解的方式定义bean,提供事务管理、AOP(面向切面编程)等特性。...
使用Maven的命令行工具或者IDE如IntelliJ IDEA,可以快速生成一个标准的MVC项目结构。基本目录包括`src/main/java`(存放源代码)、`src/main/resources`(存放资源配置文件)、`src/main/webapp`(存放Web应用资源...
9. `mvn idea:idea` 或 `mvn eclipse:eclipse`: 为IntelliJ IDEA或Eclipse生成项目配置文件。 ### Maven 项目结构 Maven遵循约定优于配置的原则,通常的项目结构如下: - `src/main/java`: 主源代码目录。 - `src/...
在IDEA(IntelliJ IDEA)中创建这样的项目,开发者可以充分利用其强大的代码编辑、调试、版本控制和项目管理功能,提高开发效率。IDEA的Maven支持允许用户轻松管理依赖关系,构建和运行项目。 【标签】"maven web...
这个名为"MavenSSM.zip"的压缩包显然包含了使用IntelliJ IDEA(IDEA)通过Maven构建SSM项目的相关资源。下面我们将深入探讨这些组件以及它们在实际开发中的作用。 首先,`Maven`是项目管理和构建工具,它可以帮助...
IntelliJ IDEA 是这个项目可能使用的集成开发环境。 1. **Apache Shiro**:Shiro 提供了基础的安全服务,包括用户身份验证(登录)、权限控制(授权)、会话管理以及加密工具。它的设计目标是简单易用,使得开发者...