这里有一个指南,向您展示如何使用“mvn site:deploy”来自动部署生成的文档站点到服务器,这里通过WebDAV机制说明。

P.S 在这篇文章中,我们使用的是Apache服务器2.x的WebDAV功能。

1. 启用 WebDAV

请参见本指南,了解 如何启用WebDAV访问Apache 2.x服务器

2. 配置在何处部署

在 pom.xml 中,配置在 “distributionManagement” 标签部署你的网站。

  1. <distributionManagement>
  2. <site>
  3. <id>yiibaiserver</id>
  4. <url>dav:http://127.0.0.1/sites/</url>
  5. </site>
  6. </distributionManagement>

“dav”前缀是HTTP协议之前添加的,这意味着通过WebDAV机制部署您的网站。或者,可以用“scp”取代它,如果您的服务器支持“scp”访问。

告诉Maven来使用“wagon-webdav-jackrabbit”扩展部署。

  1. <build>
  2. <extensions>
  3. <extension>
  4. <groupId>org.apache.maven.wagon</groupId>
  5. <artifactId>wagon-webdav-jackrabbit</artifactId>
  6. <version>1.0-beta-7</version>
  7. </extension>
  8. </extensions>
  9. </build>
wagon-webdav
一些人说可以使用“wagon-webdav”,但这不是我试了不能正常工作,所以这里用“wagon-webdav-jackrabbit”代替。

  1. <extension>
  2. <groupId>org.apache.maven.wagon</groupId>
  3. <artifactId>wagon-webdav</artifactId>
  4. <version>1.0-beta-2</version>
  5. </extension>

 pom.xml 整个文件内容:

  1. <project xmlns="http://maven.apache.org/POM/4.0.0"
  2. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
  4. http://maven.apache.org/maven-v4_0_0.xsd">
  5. <modelVersion>4.0.0</modelVersion>
  6. <groupId>com.yiibai.core</groupId>
  7. <artifactId>yiibai-core</artifactId>
  8. <packaging>jar</packaging>
  9. <version>1</version>
  10. <name>yiibai-core</name>
  11. <url>http://maven.apache.org</url>
  12. <build>
  13. <extensions>
  14. <extension>
  15. <groupId>org.apache.maven.wagon</groupId>
  16. <artifactId>wagon-webdav-jackrabbit</artifactId>
  17. <version>1.0-beta-7</version>
  18. </extension>
  19. </extensions>
  20. </build>
  21. <distributionManagement>
  22. <site>
  23. <id>yiibaiserver</id>
  24. <url>dav:http://127.0.0.1/sites/</url>
  25. </site>
  26. </distributionManagement>
  27. </project>

3. 配置WebDAV身份验证

通常情况下,WebDAV是需要认证的访问。所以需要把相关的认证细节(用户名和密码)%MAVEN_PATH%/conf/settings.xml.

File : settings.xml

  1. <servers>
  2. <server>
  3. <id>yiibaiserver</id>
  4. <username>admin</username>
  5. <password>123456</password>
  6. </server>
  7. </servers>
 “yiibaiserver” 是什么 ?
在Maven的“的settings.xml”文件服务器ID将在“的pom.xml”文件被网站引用。

4. mvn site:deploy

“mvn site:deploy” 命令执行:

  1. C:\worksp\yiibai-core>mvn site:deploy
  2. ... ...
  3. Transfer finished. 11622 bytes copied in 0.021 seconds
  4. 十一月 03, 2015 9:00:07 下午 org.apache.commons.httpclient.auth.AuthChallengePro
  5. cessor selectAuthScheme
  6. 信息: digest authentication scheme selected
  7. Uploading: .//project-info.html to http://127.0.0.1/sites/
  8.  
  9. ##十一月 03, 2015 9:00:07 下午 org.apache.commons.httpclient.auth.AuthChallengeP
  10. rocessor selectAuthScheme
  11. 信息: digest authentication scheme selected
  12. ##http://127.0.0.1/sites//./project-info.html - Status code: 201
  13.  
  14. Transfer finished. 11170 bytes copied in 0.035 seconds
  15. 十一月 03, 2015 9:00:07 下午 org.apache.commons.httpclient.auth.AuthChallengePro
  16. cessor selectAuthScheme
  17. 信息: digest authentication scheme selected
  18. Uploading: .//project-summary.html to http://127.0.0.1/sites/
  19.  
  20. ##十一月 03, 2015 9:00:07 下午 org.apache.commons.httpclient.auth.AuthChallengeP
  21. rocessor selectAuthScheme
  22. 信息: digest authentication scheme selected
  23. ##http://127.0.0.1/sites//./project-summary.html - Status code: 201
  24.  
  25. Transfer finished. 10190 bytes copied in 0.021 seconds
  26. http://127.0.0.1/sites/ - Session: Disconnecting
  27. http://127.0.0.1/sites/ - Session: Disconnected
  28. [INFO] ------------------------------------------------------------------------
  29. [INFO] BUILD SUCCESS
  30. [INFO] ------------------------------------------------------------------------
  31. [INFO] Total time: 28.737 s
  32. [INFO] Finished at: 2015-11-03T21:00:07+08:00
  33. [INFO] Final Memory: 14M/156M
  34. [INFO] ------------------------------------------------------------------------

所有站点文件夹和文件,在项目文件夹- “target/site”会被自动部署到服务器。

5. 输出

在本例中,可以通过这个网址访问该部署的站点:http://127.0.0.1/sites/,见下图:

 

完成.

参考

  1. http://maven.apache.org/plugins/maven-site-plugin/usage.html
  2. http://mojo.codehaus.org/wagon-maven-plugin/usage.html
  3. http://maven.apache.org/plugins/maven-site-plugin/deploy-mojo.html
  4. http://maven.40175.n5.nabble.com/site-deploy-using-DAV-with-digest-auth-td125042.html
  5. http://www.sonatype.com/books/maven-book/reference/site-generation-sect-deploy-site.html
 

标签:mvn    site    deploy    部署站点    WebDAV

本站文章除注明转载外,均为本站原创或编译
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创优秀实例教程
转载请注明:文章转载自:http://www.yiibai.com/maven/deploy-site-with-mvn-site-deploy-webdav-example.html

maven 学习---使用“mvn site-deploy”部署站点的更多相关文章

  1. Maven使用site-deploy(site:deploy)部署通过site生成的文档(Tomcat-WebDAV)

    Maven可以通过site生成项目的帮助文档,并且格式为html,那么可以通过site-deploy把文档部署到远端,部署方式支持HTTP/FTP/SCM/WebDAV等. 更多部署方案,参考:htt ...

  2. 使用“mvn site-deploy”部署站点(WebDAV例子)

    这里有一个指南,向您展示如何使用“mvn site:deploy”来自动部署生成的文档站点到服务器,这里通过WebDAV机制说明. P.S 在这篇文章中,我们使用的是Apache服务器2.x的WebD ...

  3. Maven学习笔记—仓库

    Maven仓库 1 什么是Maven仓库 在Maven中,任何一个依赖.插件或者项目构建的输出,都可以成为构件,而Maven通常在某个位置统一的存储所有Maven项目共享的构件,这个统一的位置就是Ma ...

  4. JavaEE高级-Maven学习笔记

    Maven简介 1.Maven是一款服务于Java平台的自动化构建工具. 2.构建: - 概念:以“Java源文件”.“框架配置文件”.“JSP”.“HTML”.“图片”等资源为“原料”,去“生产”一 ...

  5. maven 学习---部署基于Maven的war文件到Tomcat

    在本教程中,我们将学习如何使用Maven的Tomcat插件打包并部署一个WAR文件到Tomcat(Tomcat的6和7. 要用到工具: Maven 3 Tomcat 6.0.37 Tomcat 7.0 ...

  6. Maven学习笔记-03-Eclipse下maven项目在Tomcat7和Jetty6中部署调试

    现在最新的Eclipse Luna Release 已经内置了Maven插件,这让我们的工作简洁了不少,只要把项目直接导入就可以,不用考虑插件什么的问题,但是导入之后的项目既可以部署在Tomcat也可 ...

  7. Maven deploy部署jar包到远程私仓

    Maven deploy部署jar包到远程私仓 maven deploy介绍 maven中的仓库分为两种,snapshot快照仓库和release发布仓库.snapshot快照仓库用于保存开发过程中的 ...

  8. Maven学习笔记-04-Eclipse下maven项目在Tomcat7和Jetty6中部署调试

    现在最新的Eclipse Luna Release 已经内置了Maven插件,这让我们的工作简洁了不少,只要把项目直接导入就可以,不用考虑插件什么的问题,但是导入之后的项目既可以部署在Tomcat也可 ...

  9. maven 学习---生成基于Maven的项目文档站点

    在Maven中,可以使用“mvn site”,为您的项目信息生成文档站点. mvn site 生成的网站是在项目的“target/site”文件夹中. mvn site 示例 请参见通过“mvn si ...

随机推荐

  1. [转]Eclipse插件开发之基础篇(2) 第一个Eclipse插件

    原文地址:http://www.cnblogs.com/liuzhuo/archive/2010/08/15/eclipse_plugin_1_1_1.html 在Eclipse中使用PDE(Plug ...

  2. [b0008] Windows 7 下 hadoop 2.6.4 eclipse 本地开发调试配置

    目的: 基于上篇的方法介绍,开发很不方便 .[0007] windows 下 eclipse 开发 hdfs程序样例 装上插件,方便后续直接在windows下的IDE开发调试. 环境: Linux  ...

  3. 记一次接口调试错误: {"timestamp":"2019-09-11T03:04:30.036+0000","status":500,"error":"Internal Server Error","message":"Could not write JSON: Object is null; nested exception is com.fasterxml.jackson

    接口测试中用postman测试返回是正常的,但是使用其他人去调用就出错了,找了半天,才想起来使用了nginx,用于端口的代理转发.然后根据错误信息发现json格式的某个字段为null,结合日志中的报文 ...

  4. js实现textarea自适应高度

    html结构: <div class="container" id="container"> <div class="text-wr ...

  5. PyCharm注释中出现中文运行报错的解决办法

    SyntaxError: Non-UTF-8 code starting with '..... 方法一:在文件首行加上 # -*- coding:utf-8 -*- 方法二:更改编码格式 File ...

  6. Linux命令: cat

    -s  连续多个空行显示为一个空行. -n 给每一行前显示行号. -b 只给非空行前显示行号. -E  在每行后显示一个$ cat f - g  把文件f的内容.STDIN.文件g的内容连接起来 .

  7. 1.Python网络编程_UDP(简略版)

    # -*- coding: utf-8 -*- #2019-11-24 import socket def recv(): udp_socket=socket.socket(socket.AF_INE ...

  8. 5. Go语言—数据类型

    一.变量作用域 在函数内部声明的变量叫做局部变量,声明周期仅限于函数内部. 在函数外部声明的变量叫做全局变量,声明周期作用于整个包,如果是大写的,则作用于整个程序. 二.类型 1. 类型转换 ​ ty ...

  9. 扎西平措 201571030332 《面向对象程序设计(java)课程学习进度条》

    <2019面向对象程序设计(java)课程学习进度条> 周次 (阅读/编写)代码行数 发布博客量/评论他人博客数量 课余学习时间(小时) 学习收获最大的程序 阅读或编译让我 第一周 20/ ...

  10. Redis缓存策略

    常用策略有“求留余数法”和“一致性HASH算法” redis存储的是key,value键值对 一.求留余数法 使用HASH表数据长度对HASHCODE求余数,余数作为索引,使用该余数,直接设置或访问缓 ...