Maven搭建项目

Maven搭建项目
maven项目构建工具,主要是解决导jar包的麻烦,maven提供了一个环境,jar包库;人手有一个jar包;
编写pom文件,
私服:nexus,私服联网;
写pom文件,如果私服没有就从网上下载下来,然后传到本地maven库;
一个项目组的maven最好都是从私服上面拖下来的,这样pom文件配置一样,每个开发人员的jar包也是一样的;

-----
Maven的配置:
settings.xml:
比较重要的配置,
<localRepository>F:/maven/.m2/repository</localRepository> Maven库的位置
--
mirrors:This is a list of mirrors to be used in downloading artifacts from remote repositories.
<mirrors>
mirror:Specifies a repository mirror site to use instead of a given repository.
<mirror>
<id>Nexus</id>
<name>Nexus Public Mirror</name>
<url>http://localhost:8081/nexus/content/groups/public</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
---
Determines whether maven should attempt to connect to the network when executing a build.
<offline>false</offline>
告诉maven先从私服上面找对应的jar包;
--
Profiles provided in the settings.xml are intended to provide local machine-specific paths and repository locations which allow the build to work in the local environment.
--
profile | Specifies a set of introductions to the build process, to be activated using one or more of the | mechanisms described above.
<profile>
<id>dev-group</id>
<repositories>
<repository>
<id>local-nexus-zrtech</id>
<url>http://repo.server:8081/nexus/content/groups/zrtech/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>local-nexus</id>
<url>http://repo.server:8081/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>nexus-zrtech-cms</id>
<url>http://repo.server:8081/nexus/content/repositories/zrtech-cms/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>local-nexus</id>
<url>http://repo.server:8081/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>

<activeProfiles>
<activeProfile>dev-group</activeProfile>
</activeProfiles>

公司的配置上面还有配置:
Specifies the authentication information to use when connecting to a particular server
<servers>
<server>
<id>websiteapp-releases</id>
<username>zhangsan</username>
<password>zhangsan</password>
</server>

<server>
<id>websiteapp-snapshots</id>
<username>zhangsan</username>
<password>zhangsan</password>
</server>

<server>
<id>zrtech-webcms-app-releases</id>
<username>zhangsan</username>
<password>zhangsan</password>
</server>

<server>
<id>zrtech-webcms-app-snapshots</id>
<username>zhangsan</username>
<password>zhangsan</password>
</server>

</servers>

=====
指定本地库位置,关联私服,关联互联网;
一般更改maven的settings.xml需要update;
1,直接建Maven Project -- 》查找Catalogs,--》maven-archetype-quickstart//maven-archetype-webapp ---Next>
groupId
artifactId
先根据groupId查找,然后查找的是artifactId;
无法部署;因为本身不是web Project而是Maven Project;
当然有一个插件可以完善,也有bug;
2,最好是直接建WebProject,Add Maven support ;然后写groupId和artifactId;
-----
继承机制:比如struts2没有,这是使用spring插件;继承,依赖,dependency
这个依赖机制是:在根据
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-spring-plugin</artifactId>
<version>2.3.1.2</version>
</dependency>
找到对应的文件夹里面,有对应的pom依赖文件,这个pom文件是这个jar包的依赖关系,就是在读取上面的配置之后,会去读取里面自身的依赖关系pom文件。同时将其加载;
<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>
<parent>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-plugins</artifactId>
<version>2.3.8</version>
</parent>

<groupId>org.apache.struts</groupId>
<artifactId>struts2-spring-plugin</artifactId>
<packaging>jar</packaging>
<name>Struts 2 Spring Plugin</name>

<scm>
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_3_8/plugins/spring</connection>
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_3_8/plugins/spring</developerConnection>
<url>http://svn.apache.org/viewcvs.cgi/struts/struts2/tags/STRUTS_2_3_8/plugins/spring</url>
</scm>

<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${struts2.springPlatformVersion}</version>
</dependency>

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${struts2.springPlatformVersion}</version>
</dependency>

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${struts2.springPlatformVersion}</version>
</dependency>

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${struts2.springPlatformVersion}</version>
</dependency>

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${struts2.springPlatformVersion}</version>
<scope>test</scope>
</dependency>

<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</dependency>

<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-jci-fam</artifactId>
<optional>true</optional>
</dependency>

<dependency>
<groupId>org.easymock</groupId>
<artifactId>easymock</artifactId>
<scope>test</scope>
</dependency>

</dependencies>

</project>
对应可以不断的找寻依赖关系;

posted @ 2014-03-03 17:04  教程学习  阅读(139)  评论(0)    收藏  举报