一:安装必要的环境软件,可以参考网上的资料;
源码连接: http://download.csdn.net/detail/yeshenrenjin/5053039
后面的排版发生错乱,大家参考源码工程阅读,效果比较好。
最后一个图总是显示不出来,放在这里
二: 使用maven模版创建工程;
1:使用框架创建工程;
点击完成;
2:生成工程如图所示:
3:添加config文件,作为配置文件夹,并将其作为“Use as source folder”(即:选中config文件,点击右键->BuildPath-->Use as source folder )
如图:
4: 添加新类文件
- public class InfoCollect {
- private String name;
- private int age;
- private String address;
- private String passWord;
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public int getAge() {
- return age;
- }
- public void setAge(int age) {
- this.age = age;
- }
- public String getAddress() {
- return address;
- }
- public void setAddress(String address) {
- this.address = address;
- }
- public String getPassWord() {
- return passWord;
- }
- public void setPassWord(String passWord) {
- this.passWord = passWord;
- }
- }
5:在pom文件中添加spring相关的依赖
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring</artifactId>
- <version>2.5.6</version>
- </dependency>
- </dependencies>
我们在config目录下生成相关的配置文件:
如下:
- <bean id="infoCollect" class="com.netboy.maven.mavenDo.InfoCollect">
- <property name="name" value="netboy" />
- <property name="age" value="111" />
- <property name="address" value="hangzhou " />
- <property name="passWord" value="${password}" />
- </bean>
三: 运行程序
输出如下:
四: 自动打包并替换掉占位符
1: 在src/main目录下创建如图所示文件;
daily.properties 内容为: password = 111111
online.properties内容为: password = 222222
zip.xml内容为:
- <assembly
- xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
- <id>bin</id>
- <formats>
- 输出目标格式是zip
- <format>zip</format>
- </formats>
- <fileSets>
- <fileSet>
- ${project.basedir}约定为工程的根目录,将根目录下的指定文件拷贝到输出目标文件中的/目录下
- <directory>${project.basedir}</directory><outputDirectory>/</outputDirectory><includes><include>README*</include><include>LICENSE*</include><include>NOTICE*</include><include>run.sh</include></includes></fileSet><fileSet><directory>${project.basedir}/config</directory><outputDirectory>/config</outputDirectory><includes><include>*.properties</include><include>*.xml</include></includes>
- 拷贝的时候根据指定的filter进行替换占位符,然后将新生成的配置文件放到指定的目录下
- <filtered>true</filtered></fileSet><fileSet> 将指定目录下的文件copy到生成目标的指定目录下<directory>${project.basedir}/solr-home/conf</directory>
- <outputDirectory>/solr-home/conf</outputDirectory><includes><include>*.xml</include></includes></fileSet><fileSet><directory>${project.build.directory}</directory><outputDirectory>/lib</outputDirectory><includes><include>*.jar</include></includes><excludes><exclude>*-sources.jar</exclude></excludes></fileSet><fileSet><directory>${project.build.directory}/lib</directory><outputDirectory>/lib</outputDirectory><includes><include>*.jar</include></includes></fileSet></fileSets></assembly>
- 2: 添加相关打包插件依赖
- 如下所示:
- <build>
- <filters> 默认打包时使用daily.properties进行占位符替换
- <filter>src/main/assemble/daily.properties</filter>
- </filters>
- <resources>
- <resource>
- <directory>config</directory>
- <filtering>true</filtering>
- <includes>
- <include>*.xml</include>
- <include>*.properties</include>
- </includes>
- </resource>
- </resources>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-eclipse-plugin</artifactId>
- <version>2.7</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- <version>2.3.2</version>
- 打包jar时排除掉 src/main/resources 下的xml和 properties
- <configuration>
- <excludes>
- <exclude>**/*.xml</exclude>
- <exclude>**/*.properties</exclude>
- </excludes>
- </configuration>
- </plugin>
- <plugin> 打包copy依赖到指定目录下
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-dependency-plugin</artifactId>
- <executions>
- <execution>
- <id>copy-dependencies</id>
- <phase>package</phase>
- <goals>
- <goal>copy-dependencies</goal>
- </goals>
- <configuration>
- <outputDirectory>${project.build.directory}/lib</outputDirectory>
- <overWriteReleases>true</overWriteReleases>
- <overWriteSnapshots>true</overWriteSnapshots>
- <overWriteIfNewer>true</overWriteIfNewer>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <artifactId>maven-assembly-plugin</artifactId>
- <version>2.2</version>
- <configuration>
- <descriptors>
- <descriptor>src/main/assemble/zip.xml</descriptor>
- </descriptors>
- </configuration>
- <executions>
- <execution>
- <id>assembly</id>
- <phase>package</phase>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- <profiles>
- <profile> 打daily环境部署的zip包
- <id>daily</id>
- <build>
- <filters>
- <filter>src/main/assemble/daily.properties</filter>
- </filters>
- <plugins>
- <plugin>
- <artifactId>maven-assembly-plugin</artifactId>
- <executions>
- <execution>
- <phase>package</phase>
- <goals>一个package生命周期运行一次
- <goal>single</goal>
- </goals>
- <configuration>
- <descriptors>
- <descriptor>src/main/assemble/zip.xml</descriptor>
- </descriptors>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- <profile> 打线上环境部署的zip包
- <id>online</id>
- <build>
- <filters>
- <filter>src/main/assemble/online.properties</filter>
- </filters>
- <plugins>
- <plugin>
- <artifactId>maven-assembly-plugin</artifactId>
- <executions>
- <execution>
- <phase>package</phase>
- <goals>
- <goal>single</goal>
- </goals>
- <configuration>
- <descriptors>
- <descriptor>src/main/assemble/zip.xml</descriptor>
- </descriptors>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
- </project>
相关推荐
《Spring in Action》一书是Spring框架的实践指南,它深入介绍了如何使用Maven构建Spring工程。Maven是一个流行的项目管理和综合工具,它通过提供一套标准化的构建过程,简化了Java项目的构建、依赖管理和部署。在...
在“maven+spring 自动打包”这一标签中,我们关注的是自动化构建过程。Maven的生命周期包含清理(clean)、编译(compile)、测试(test)、打包(package)、验证(verify)等多个阶段。通过在POM.xml中配置`...
在`package`阶段,我们可以使用Maven插件(如`maven-spring-boot-plugin`)将Spring应用打包成可执行的JAR或WAR文件。 6. Spring Boot与Maven: Spring Boot简化了Spring应用的初始化和配置。通过在POM.xml中添加...
Maven是Apache开发的一款项目管理和综合工具,它通过一个项目对象模型(Project Object Model, POM)来管理项目依赖关系,自动化构建过程,如编译、测试、打包、部署等。要开始构建项目,你需要在Eclipse中安装Maven...
本项目“maven整合spring+hibernate+struts2”就是一个典型的Java Web开发模式,它利用Maven作为项目管理工具,Spring作为核心框架,Hibernate作为持久层解决方案,Struts2作为表现层控制器。以下将详细阐述这些技术...
标题 "spring 扫描jar maven 打包" 涉及的是在Java开发中,如何使用Spring框架和Maven工具来构建并打包一个项目,其中包含Spring对jar包的扫描以及Maven的打包流程。这里我们将深入探讨这两个关键概念。 1. **...
在IT行业中,构建高效、可维护的企业级应用是一项复杂任务,而"Maven+Spring+SpringMVC+MyBatis+Oracle"的组合是常见的技术栈,用于开发Java Web应用程序。这个组合提供了强大的依赖管理和模块化,灵活的控制反转,...
通过Maven,开发者可以方便地管理项目依赖,自动化构建流程,如编译、测试、打包、部署等。Maven使用一个标准的目录结构,并通过POM(Project Object Model)文件来描述项目的配置信息和依赖关系,使得项目能够在...
Maven通过使用一个统一的项目对象模型(POM)来定义项目,并自动下载所需的库,编译源代码,运行测试,打包应用等。在这个项目中,Maven被用来管理Spring MVC和Mina的依赖,以及整个项目的构建过程。 【Mina】是...
在IT行业中,构建Java Web应用程序是一项常见的任务,而"Maven+spring+springMVC+mybatis"是一个经典的组合,它们各自扮演着不同的角色,共同构建出高效、灵活的应用框架。让我们详细了解一下这些技术及其在项目中的...
开发者可以通过定义不同生命周期阶段和插件目标,实现编译、测试、打包、部署等一系列自动化操作。 接着,Spring框架是Java领域中广泛使用的开源框架,其核心特性包括依赖注入(DI)和面向切面编程(AOP)。在本...
在IT行业中,构建Web应用程序是一项常见的任务,而“基于maven+spring+spring mvc+mybatis框架web项目”提供了一个适用于初学者的学习路径。这个项目利用了四个关键的技术组件,它们分别是Maven、Spring、Spring MVC...
这个"maven+spring+jetty+logback简单项目源码"提供了一个基础框架,方便新手快速入门并实践这些技术。 首先,`Maven`是Apache开发的一个项目管理和综合工具,它通过一个项目对象模型(Project Object Model, POM)...
在IT行业中,构建高效、可维护的Web应用是至关重要的,而"Maven+Spring+MyBatis"的组合就是一种常见的开发模式。这个组合利用了Maven的项目管理和依赖管理能力,Spring的全面企业级应用框架特性,以及MyBatis的灵活...
【标签】中的“maven”指出了项目使用Maven进行构建管理,它能帮助开发者自动化构建过程,管理依赖关系,以及执行测试和打包等任务。"spring"表示项目中融入了Spring框架,Spring的IoC容器使得组件之间的依赖关系...
Spring作为一个强大的轻量级框架,提供了丰富的功能,包括依赖注入、AOP(面向切面编程)、MVC(模型-视图-控制器)等,而Maven作为项目管理和构建工具,能够简化构建过程,管理项目的依赖关系。本文将深入探讨...
Maven通过POM(Project Object Model)文件定义项目配置,自动处理依赖关系下载,构建过程如编译、测试、打包、部署等。在这个项目中,`mvn-web`可能就是项目的根目录,其中包含了`pom.xml`文件,定义了项目的构建和...
【标题】"dubbo+maven+spring"是一个典型的微服务架构技术栈,它结合了三个在Java开发领域中广泛使用的框架或工具。Dubbo是阿里巴巴开源的高性能、轻量级的服务治理框架,主要用于构建分布式服务;Maven是项目管理...
Maven 使用一种标准的目录结构和XML格式的项目对象模型(Project Object Model, POM),能够自动下载所需的库文件,编译源代码,运行测试,打包,部署等。在本项目中,Maven 负责集成所有依赖,包括Spring MVC、...
【 Maven + Spring Data JPA + Hibernate 整合详解】 在现代Java开发中,Maven、Spring Data JPA和Hibernate是三个非常重要的工具和技术。Maven是项目管理工具,Spring Data JPA提供了对数据库操作的高级抽象,而...