您的位置:首页 > 其它

Maven学习随想及maven发布web项目示例

2013-01-07 12:14 176 查看
一 : maven学习随想:

1: 我们使用私有仓库nexus之后查找依赖的顺序为:

1:首先会在我们自己机器上的本地仓库查找,如果本地仓库没有就去私有仓库中查找,

私有仓库就是我们在setting.xml文件中配置的镜像所对应的url地址,这是一个仓库组,这个

仓库组对应多个仓库,这里会按照仓库组中的顺序依次查找我们的依赖(此处我的仓库组中的顺序

为releases,Snapshots,3rd party,Central),这就表示当我们的项目在本地仓库中没有找到依赖的

时候,就会按顺序依次到releases,Snapshots,3rd party,Central仓库中去查找,找到了就下载到

本地仓库,如果私有仓库中也没有我们需要的依赖,那么私有仓库就会通过代理访问中央仓库,下

载依赖到私有仓库

2: 私有仓库的所有文件放置在服务器的本地磁盘上

3: 我们在setting.xml文件中配置的central仓库,实际上就是私有仓库的管理依赖的仓库,也就是

管理依赖的仓库组

4: 在企业级的项目开发中,我们一般会创建自己的管理仓库,一般创建releases和Snapshots仓库,

为了多个开发者都能利用其他开发者的开发模块,我们会将自己的模块发布到snapshots仓库中,

并且将仓库添加到仓库组中,此处注意,一定要将自己的仓库搜索依赖的顺序放在central仓库之前

2: 当我们自己开发的模块发布到仓库中时,首先会默认发布到本地仓库中。

3: 在实际的企业开发中,我们都是进行多模块的开发,那么我们可以为我们的项目模块建立自己

的项目仓库,方便团队的开发。

一般的顺序为:

1: 创建我们的项目仓库(一般分为Release版本和Snapshots版本)

2: 创建项目仓库对应的管理权限

3: 创建角色,并且将角色赋予对应的管理权限

4: 创建用户,并且将用户赋予对应的管理角色

5: 在项目的parent项目的pom.xml中创建发布项目的仓库,仓库的url为我们在私服上创建的对应的仓库(release和snapshots)

6: 在setting.xml文件中配置我们用户对应的权限,使得我们创建的用户能够发布项目到私服上

4: 在实际项目的开发中,我们如果使用maven管理项目的话,断点调试就很难执行,所以maven管理项目时,一切单元测试优先,只有保证我们

的测试通过之后,才能在模块的聚合执行中降低错误,保证项目开发的顺利进行

5: 如果我们使用maven来开发和维护项目,那么所有的资源文件必须放在src/main/resouces包下面

二: 通过maven发布web项目

1:首先创建一个maven项目,选择的构建骨架为maven-archetype-webapp,这样我们就创建了一个基于web骨架的项目

2:我们可以自己创建src/main/java作为我们的源文件夹目录

3: 在src/main/webapp文件夹就是我们web项目的上下文的webRoot目录,所有的web文件都放在这里面

4:然后通过编写我们的源代码,添加源代码所需依赖dependencies

5: 通过war插件org.apache.maven.plugins来将我们的项目打成war包,如果打包的执行需要依赖第三方jar,那么可以通过

dependencies来添加我们所需依赖

6: 将war拷贝到tomcat的webapps中,即可运行我们开发的项目

7: 我们也可以直接通过jetty插件将项目直接发布到jetty中,配置如下,在开发中,这个较为方便

<plugin>

<groupId>org.mortbay.jetty</groupId>

<artifactId>jetty-maven-plugin</artifactId>

<configuration>

<scanIntervalSeconds>10</scanIntervalSeconds>

<webApp>

<contextPath>/userProject</contextPath>

</webApp>

<connectors>

<connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">

<port>8787</port>

<maxIdleTime>60000</maxIdleTime>

</connector>

</connectors>

</configuration>

</plugin>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: