有时候maven管理war项目,需要根据不同的环境,使用不同的配置文件。
pom.xml文件如下
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.chinaso</groupId>
<artifactId>test</artifactId>
<packaging>war</packaging>
<version>1.0.0</version>
<url>http://maven.apache.org</url>
<properties>
<!--
不加下面这一行会报错
[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent!
增加之后
Using 'UTF-8' encoding to copy filtered resources.
-->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>commons-pool</groupId>
<artifactId>commons-pool</artifactId>
<version>1.5.7</version>
</dependency>
</dependencies>
<build>
<finalName>test</finalName>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<archive>
<addMavenDescriptor>false</addMavenDescriptor>
</archive>
<webResources>
<resource>
<!-- 元配置文件的目录,相对于pom.xml文件的路径 -->
<directory>${app_config_path}</directory>
<!-- 是否过滤文件,也就是是否启动auto-config的功能 -->
<filtering>false</filtering>
<!-- 目标路径 -->
<targetPath>WEB-INF/conf</targetPath>
</resource>
</webResources>
</configuration>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>dev</id>
<properties>
<app_config_path>src/main/conf/dev</app_config_path>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>test</id>
<properties>
<app_config_path>src/main/conf/test</app_config_path>
</properties>
</profile>
<profile>
<id>online</id>
<properties>
<app_config_path>src/main/conf/online</app_config_path>
</properties>
</profile>
</profiles>
</project>
打包命令
mvn clean package -Dmaven.test.skip=true -Pdev
输出日志
[INFO] --- maven-war-plugin:2.1.1:war (default-war) @ test ---
[INFO] Packaging webapp
[INFO] Assembling webapp [test] in [E:\x\test\target\y]
[INFO] Processing war project
[INFO] Copying webapp webResources [E:\E:\x\test\target\ysrc/main/conf/dev] to [E:\x\test\target\y]
[INFO] Copying webapp resources [E:\x\test\target\y\src\main\webapp]
[INFO] Webapp assembled in [4776 msecs]
[INFO] Building war: E:\x\test\target\vertical-search.war
[WARNING] Warning: selected war files include a WEB-INF/web.xml which will be ignored
(webxml attribute is missing from war task, or ignoreWebxml attribute is specified as 'true')
参考文章
http://lishuaibt.iteye.com/blog/614783
分享到:
相关推荐
**Spring Boot Maven Web 完整项目框架详解** Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目标是用来简化新 Spring 应用的初始搭建以及开发过程。它集成了大量的常用组件,如数据源、JPA、WebSocket、...
【 MavenWeb 项目详解】 "MavenWeb 项目"是一个基于Maven构建的Web应用程序示例。Maven是一个强大的项目管理工具,它可以帮助开发者管理和构建Java项目,极大地简化了项目的构建、依赖管理和文档生成过程。本项目是...
在MyEclipse中使用Maven构建Web项目是一个常见的开发任务,Maven是一个强大的项目管理和构建工具,它通过定义项目的结构和依赖关系来自动化构建过程。本文将详细介绍如何在MyEclipse环境中配置Maven并创建一个标准的...
该教程可能详细阐述了从零开始创建一个基于Maven的Web项目的过程,覆盖了6个主要步骤或主题。 【描述】:“idea创建基于maven的web工程共6页.pdf.zip”描述了文件的格式和内容。这是一个PDF文档,被压缩成ZIP格式,...
由于提供的压缩包文件名称列表中包含"赚钱项目",这可能暗示文档还涉及了如何利用创建的Web项目进行商业变现,但具体方法不在上述Maven和Idea创建Web项目的基本流程之内,所以无法进一步展开。总的来说,这份教程...
Maven多模块项目配置详解 在本节中,我们将详细讨论Maven多模块项目配置的实现方法。Maven多模块项目是指一个父模块包含多个子模块,每个子模块都是一个独立的Maven项目。这种结构可以使得项目的管理和维护变得更加...
总结来说,"Maven多模块web应用实例"是一个展示如何使用Maven进行高效项目管理的示例。通过这个实例,开发者可以学习到如何构建一个结构清晰、易于维护的Web项目,理解Maven的核心概念,如依赖管理、模块化、插件...
在Java Web开发中,Maven是一个非常重要的构建工具,它帮助开发者管理项目依赖、构建流程以及设置项目属性。`pom.xml`文件是Maven项目的灵魂,它包含了项目的元数据和构建指令。这篇博文主要讨论了`pom.xml`文件中的...
- 使用Profile:Maven支持多环境配置,通过Profile可以在开发、测试和生产环境中切换不同的配置。 - 注释和文档:为每个配置项添加注释,解释其用途,方便团队成员理解和维护。 在实际开发中,SSM项目的配置文件...
在Spring Boot项目中,Maven是常用的构建工具,它管理项目的依赖并帮助构建可执行的JAR或WAR文件。Maven本地仓库是Maven存储下载的依赖的地方,对于开发者来说,理解如何正确配置和利用Maven本地仓库是至关重要的。 ...
Maven作为Java项目管理工具,提供了一种强大的特性——Profile,来帮助开发者根据环境条件构建不同的部署包。这篇博客将详细解释如何利用Maven的Profile功能实现这一目标。 首先,我们需要理解Maven Profile的概念...
- **项目架构**:根据项目需求选择合适的Maven项目架构,如 `pss-core` 和 `pss-web`。 - **创建项目**: - 使用 `mvn archetype:create` 命令创建项目。 - 例如,创建一个名为 `pss-core` 的项目。 ```shell ...
Archetype相当于项目模板,根据不同的项目类型选择合适的Archetype可以快速生成项目结构,例如maven-archetype-quickstart用于生成标准的Maven项目,而maven-archetype-webapp用于生成Maven Web应用项目。...
总结,"springmvc maven工程"是基于Maven构建的SpringMVC项目,利用了Maven的依赖管理和构建功能,结合SpringMVC的灵活性,提供了一种高效开发Java Web应用的方式。通过理解并掌握SpringMVC和Maven的核心概念与实践...
在Maven项目中,可以使用Maven的Profile特性,为不同的环境(如开发、测试、生产)提供不同的配置。 总之,Maven+SSM+Shiro组合提供了完整的Web应用开发解决方案,涵盖了项目构建、业务逻辑处理、数据访问以及安全...
1.非web环境下spring如何与mybatis集成 2.maven如何打可以直接运行的jar包 3.maven如何用profile动态打包jdbc.properties 4.maven如何把mybatis的mapper.xml一起打包到jar中
1. **项目对象模型(POM)**:Maven 的核心概念之一是POM,它是一个XML文件,包含了构建项目的相关信息,如项目依赖、构建目标、构建配置等。通过POM,Maven能够理解项目的结构和需求,自动化构建过程。 2. **依赖...
这个"springboot-web-demo"项目是一个适合初学者上手的实践案例,主要基于Maven构建,帮助学习者快速理解SpringBoot的核心特性。 在SpringBoot中,核心组件包括自动配置、起步依赖和嵌入式服务器。自动配置是...
第13章:使用Maven生成项目原型/13.1 Maven项目原型/13.1.4 命令行生成的web项目原型 第13章:使用Maven生成项目原型/13.2 编写自己的项目原型/13.2.1 自定义项目原型结构组成 第13章:使用Maven生成项目原型/13.2 ...
1. **更新web.xml**:对于使用Maven的web项目,由于默认的`web.xml`版本可能较低,可以复制一个新版本的`web.xml`(如3.1版本)来替换项目中的`src/main/webapp/WEB-INF/web.xml`。 2. **配置pom.xml**:`pom.xml`...