创建MAVEN工程:
新建 Maven Web项目(重要)
1、Maven笔记(四)– eclipse+tomcat构建web工程
3、http://www.blogjava.net/bolo/archive/2011/05/23/349655.html
Maven简介(二)——使用Maven
http://haohaoxuexi.iteye.com/blog/1860128
maven入门配置:
http://blog.csdn.net/wm5920/article/details/8185677
maven常用命令:
http://www.cnblogs.com/adolfmc/archive/2012/07/31/2616908.html
至于为什么要搭建自己的maven私服,原因有三个:
1、maven自己的中央库访问速度比较慢,伟大的墙再一闹腾,会时断时续。
2、有些jar包由于版权原因,maven中央仓库没有,比如oracle JDBC驱动。另外也会有一些项目中用到的比较老的开源jar包, 中央仓库也没用。这种情况我们需要把jar包手动上传到私服。
3、公司自己开发的jar包并不开源,不能上传到maven中央仓库,只能部署到私服上面。
如果添加其他的构件时,会先在nexus私服下载好,以后才会下载到本地。以后,如果发现私服已经存在某一jar包,则会直接从私服下载,如果没有再去网络上下载。这就是搭建私服的好处。哈哈........
Eclipse Maven插件地址:
【help】-【Install New Software…】
http://download.eclipse.org/technology/m2e/releases
EAR中可以包含WAR,JAR文件。
JAR文件可以将EJB包含其中。
WAR可以将WEB组件包含其中。
Jar文件(扩展名为. Jar,Java Application Archive)包含Java类的普通库、资源(resources)、辅助文件(auxiliary files)等
War文件(扩展名为.War,Web Application Archive)包含全部Web应用程序。在这种情形下,一个Web应用程序被定义为单独的一组文件、类和资源,用户可以对jar文件进行封装,并把它作为小型服务程序(servlet)来访问。
Ear文件(扩展名为.Ear,Enterprise Application Archive)包含全部企业应用程序。在这种情形下,一个企业应用程序被定义为多个jar文件、资源、类和Web应用程序的集合。
每一种文件(.jar, .war, .ear)只能由应用服务器(application servers)、小型服务程序容器(servlet containers)、EJB容器(EJB containers)等进行处理。
EAR文件包括整个项目,内含多个ejb module(jar文件)和web module(war文件)
Tips:
在建立war文件的时候,不用将源码也压缩到其中,把src目录移走即可。
仓库:
Maven dependency and repository :
http://blog.csdn.net/totogogo/article/details/1956381
maven settings.xml :
http://blog.csdn.net/totogogo/article/details/1946691
maven POM的中文参考手册 :
http://blog.csdn.net/totogogo/article/details/1942860
Maven实战(九)——打包的技巧:
http://www.infoq.com/cn/news/2011/06/xxb-maven-9-package
1、为什么用Maven
在 不用Maven的时候,比如说以前我们用Ant构建项目,在项目目录下,往往会看到一个名为/lib的子目录,那里存放着各类第三方依赖jar文 件,如log4j.jar,junit.jar等等。每建立一个项目,你都需要建立这样的一个/lib目录,然后复制一对jar文件,这是很明显的重复。 重复永远是噩梦的起点,多个项目不共用相同的jar文件,不仅会造成磁盘资源的浪费 ,也使得版本的一致性管理变得困难。此外,如果你使用版本管理工具,如 SVN(你没有使用版本管理工具?马上试试SVN吧,它能帮你解决很多头疼的问题),你需要将大量的jar文件提交到代码库里,可是版本管理工具在处理二 进制文件方面并不出色。
Maven 仓库就是放置所有JAR文件(WAR,ZIP,POM等等)的地方,所有Maven项目可以从同一个Maven仓库中获取自己所需要的依 赖JAR,这节省了磁盘资源。此外,由于Maven仓库中所有的JAR都有其自己的坐标,该坐标告诉Maven它的组ID,构件ID,版本,打包方式等 等,因此Maven项目可以方便的进行依赖版本管理。你也不在需要提交JAR文件到SCM仓库中,你可以建立一个组织层次的Maven仓库,供所有成员使 用。
简言之,Maven仓库能帮助我们管理构件 (主要是JAR)。
2、本地仓库
运行Maven的时候,Maven所需要的任何构件都是直接从本地仓库获取的。如果本地仓库没有,它会首先尝试从远程仓库下载构件至本地仓库,然后再使用本地仓库的构件。
比如说,你的项目配置了junit-3.8的依赖,在你运行mvn test 的时候,Maven需要使用junit-3.8的jar文件,它首先根据坐标查找本地仓库,如果找到,就直接使用。如果没有,Maven会检查可用的远程 仓库配置,然后逐个尝试这些远程仓库去下载junit-3.8的jar文件,如果远程仓库存在该文件,Maven会将其下载到本地仓库中,继而使用。如果 尝试过所有远程仓库之后,Maven还是没能够下载到该文件,它就会报错。
3、镜像
如果你的地理位置附近有一个速度更快的central镜像,或者你想覆盖central仓库 配置,或者你想为所有POM使用唯一的一个远程仓库 (这个远程仓库代理的所有必要的其它仓库),你可以使用settings.xml中的mirror配置 。
以下的mirror配置用maven.net.cn覆盖了Maven自带的central :
<settings> ... <mirrors> <mirror> <id>maven-net-cn</id> <name>Maven China Mirror</name> <url>http://maven.net.cn/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror> </mirrors> ... </settings>
这里唯一需要解释的是<mirrorOf> ,这里我们配置central的镜像,我们也可以配置一个所有仓库的镜像 ,以保证该镜像是Maven唯一使用的仓库:
<settings> ... <mirrors> <mirror> <id>my-org-repo</id> <name>Repository in My Orgnization</name> <url>http://192.168.1.46/maven2</url> <mirrorOf>*</mirrorOf> </mirror> </mirrors> ... </settings>
。。
来源:http://juvenshun.iteye.com/blog/359256
3、MAVEN与ANT的区别
什么是Maven?
Maven是一个项目管理工具,它包含:
一个项目对象模型 (Project Object Model),
一组标准集合,
一个项目生命周期(Project Lifecycle),
一个依赖管理系统(Dependency Management System), 用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。
构建工具:
把源代码构建成可发布的构件。包括预处理,编译,打包,测试和分发。
项目管理工具:
生成报告,生成Web站点,并且帮助推动工作团队成员间的交流。
核心理念
约定优于配置(Convention Over Configuration)
优点: 减少工作量。只要按约定去做,不需要做很多配置。
缺点: 被迫接受特定的方法。 需要记住约定。
Ant 和Maven 的主要区别
Ant
Ant 没有正式的约定如一个一般构,你必须明确的告诉Ant 哪里去找源代码,哪里放置输出。随着时间的推移,非正式的约定出现了,但是它们还没有在产品中模式化。
Ant 是程序化的,你必须明确的告诉Ant 做什么,什么时候做。你必须告诉它去编译,然后复制,然后压缩。
Ant 没有生命周期,你必须定义目标和目标之间的依赖。你必须手工为每个目标附上一个任务序列。
Maven
Maven 拥有约定,因为你遵循了约定,它已经知道你的源代码在哪里。它把字节码放到 target/classes ,然后在 target 生成一个 JAR 文件。
Maven 是声明式的。你需要做的只是创建一个pom.xml 文件然后将源代码放到默认的目录。Maven会帮你处理其它的事情。
Maven 有一个生命周期,当你运行 mvn install 的时候被调用。这条命令告诉 Maven 执行一系列的有序的步骤,直到到达你指定的生命周期。遍历生命周期旅途中的一个影响就是,Maven 运行了许多默认的插件目标,这些目标完成了像编译和创建一个 JAR 文件这样的工作。
================================================================================
自己项目中的配置文件:
1、Setting.xml:
见附件
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>himsNanHwa</groupId> <artifactId>himsNanHwa</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <dependencies> <dependency> <groupId>javax</groupId> <artifactId>javaee-web-api</artifactId> <version>6.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>2.5.6</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate</artifactId> <version>3.2.6.ga</version> <exclusions> <exclusion> <groupId>asm</groupId> <artifactId>asm</artifactId> </exclusion> <exclusion> <groupId>asm</groupId> <artifactId>asm-attrs</artifactId> </exclusion> <exclusion> <groupId>cglib</groupId> <artifactId>cglib</artifactId> </exclusion> <exclusion> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> </exclusion> </exclusions> </dependency> ... </dependencies> <build> <finalName>himsNanHwa</finalName> <sourceDirectory>src</sourceDirectory> <outputDirectory>WebRoot/WEB-INF/classes</outputDirectory> <resources> <resource> <directory>src</directory> </resource> </resources> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <source>1.5</source> <target>1.5</target> <encoding>UTF-8</encoding> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.1.1</version> <configuration> <webappDirectory>WebRoot/</webappDirectory> <warSourceDirectory>WebRoot</warSourceDirectory> </configuration> </plugin> </plugins> </build> </project>
<?xml version="1.0"?> <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.esb</groupId> <artifactId>projects</artifactId> <version>2.1.0</version> </parent> <groupId>com.projects</groupId> <artifactId>com.bean</artifactId> <version>2.1.0</version> <name>com.bean</name> <packaging>jar</packaging> <dependencies> <dependency> <groupId>javax.persistence</groupId> <artifactId>persistence-api</artifactId> <version>1.0</version> <scope>provided</scope> </dependency> </dependencies> </project>
..
相关推荐
总结,这个"Maven离线安装包(含环境配置文件)"提供了一种便捷的方式,使得开发者即使在无网络环境下也能搭建和使用Maven环境。它简化了Maven的安装过程,同时方便了Eclipse用户的集成工作,提高了开发效率。无论你...
- **conf** 目录:包含了Maven的主要配置文件`settings.xml`。 其中`settings.xml`文件非常重要,它定义了Maven的一些关键配置项,如本地仓库的位置等。 - **默认的用户本地仓库**:`${user.home}/.m2/repository`...
### Maven项目配置文件详解 #### 一、Maven简介与应用场景 Maven 是一个非常流行的 Java 项目的构建管理工具,它通过一系列规范化的标准来帮助开发者实现项目的构建、依赖管理和项目信息管理等功能。Maven 的核心...
Maven的配置文件`settings.xml`位于`%M2_HOME%\conf`目录下,这个文件可以个性化设置Maven的行为,如本地仓库位置、远程仓库地址、镜像配置等。你可以根据需要修改这些设置。 对于企业开发,可能需要在团队间共享`...
接下来,修改Maven的配置文件`settings.xml`,它位于`Maven安装目录/conf`下。这个文件包含了Maven的全局配置信息。你需要修改`localRepository`标签来指定本地仓库的位置,例如`D:\Program Files\apache-maven-...
以下是对Maven配置文件的详细说明以及如何在Win10系统中进行配置的教程。 1. Maven的安装 首先,你需要从Apache官方网站下载最新版本的Maven。下载完成后,解压到你选择的目录,例如`C:\Program Files\Apache\maven...
1. **配置 Maven 配置文件**:Maven 的主要配置文件是 `conf/settings.xml`。在这里,你可以定义本地仓库路径、远程仓库地址、代理服务器等信息。 2. **本地仓库**:默认情况下,Maven 会将下载的依赖存放在用户主...
总结来说,配置Maven到Eclipse的过程主要包括Maven的安装、环境变量配置、Eclipse中M2E插件的安装、Maven设置的配置以及创建和管理Maven项目。正确配置后,开发者可以在Eclipse这个熟悉的环境中享受到Maven带来的...
`settings.xml`是Maven的全局配置文件,通常位于`%M2_HOME%\conf`目录下。这个文件可以用来配置Maven的本地仓库路径、远程仓库、镜像设置、用户凭据等。例如,要更改本地仓库位置,可以在`settings.xml`中添加以下...
- **设置settings.xml**:这是Maven的重要配置文件,位于 `$MAVEN_HOME\conf\settings.xml`,用于指定本地仓库位置等信息。 - **本地仓库位置**:可以通过以下方式设置本地仓库的位置。 ```xml <localRepository>...
Maven 3.8.1版本的私服配置涉及到多个Maven配置文件部分,包括`settings.xml`中的服务器、镜像和profiles。正确配置后,Maven将自动从你的内部仓库获取依赖,同时也能方便地将项目发布到私服,便于团队内部共享和...
3. src/main/resources:资源文件目录,存放非编译代码,如配置文件、图片等。 4. src/main/webapp:Web应用目录,存放HTML、CSS、JavaScript、JSP、Servlet等Web相关文件。 5. src/test/java:测试代码目录,存放...
在用户目录下的`.m2\settings.xml`文件中,我们可以配置`<mirrors>`(镜像)、`<profiles>`(配置文件)和`<servers>`(服务器认证信息)。这种方式会全局生效,适用于所有项目。 - ****:配置镜像,Maven会优先...
总结来说,Maven简化了Java项目的构建和管理,通过POM.xml文件,可以自动化处理依赖关系,确保构建的一致性和可重复性。了解并熟练掌握Maven的安装、配置和使用,对于Java开发者而言,是提高工作效率和协作能力的...
为了更好地管理这些依赖,可以修改Maven的配置文件`settings.xml`,指定一个新的本地仓库位置。例如,在`settings.xml`中添加如下配置: ```xml <localRepository>D:\ProgramFiles\maven3\repository ``` #### 三...
总结来说,"maven 过滤文件夹打包"是利用Maven的资源过滤和插件配置功能,确保在不同环境下打包的项目包含正确的配置文件。这一方法提高了开发效率,降低了手动管理配置文件的出错概率,是Java项目部署中常见且重要...