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>
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>
相关文章推荐
- eclipse maven创建web项目并在tomcat中发布
- maven发布web项目时报错ClassNotFoundException
- eclipse 创建maven 项目 动态web工程完整示例(亲测,很好)
- 利用maven发布web项目到远程服务器
- maven 发布 web 项目(分别使用 Jetty 和 Tomcat 作为容器)
- 遇到问题---java---git下载的maven项目web用tomcat发布时不带子项目
- 详解eclipse创建maven项目实现动态web工程完整示例
- 使用maven命令终端构建一个web项目及发布该项目
- Maven实战(四)Eclipse导入Maven webapp项目,并完成在浏览器上的发布
- 遇到问题---java---git下载的maven项目web用tomcat发布时不带子项目
- maven集成tomcat插件发布web项目
- Maven教程-解决web项目发布到tomcat中没有lib依赖的问题
- eclipse 创建maven 项目 动态web工程完整示例
- 解决eclipse创建的maven web项目,无法发布到tomcat
- 自动化发布项目之jenkins + git + maven 自动化部署一个web项目
- Maven教程-解决web项目发布到tomcat中没有lib依赖的问题
- 全网最详细的IDEA、Eclipse和MyEclipse之间于Java web项目发布到Tomcat上运行成功的对比事宜【博主强烈推荐】【适合普通的还是Maven方式创建的】(图文详解)
- eclipse_maven_将web项目发布到tomcat中
- eclipse 创建maven 项目 动态web工程完整示例
- eclipse 创建maven 项目 动态web工程完整示例