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

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

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

1. 启用 WebDAV

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

2. 配置在何处部署

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

<distributionManagement>
    <site>
      <id>vcclassserver</id>
      <url>dav:http://127.0.0.1/sites/</url>
    </site>
</distributionManagement>

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

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

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

 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>com.vcclass.core</groupId>
  <artifactId>vcclass-core</artifactId>
  <packaging>jar</packaging>
  <version>1</version>
  <name>vcclass-core</name>
  <url>http://maven.apache.org</url>
  <build>
	<extensions>
		<extension>
			<groupId>org.apache.maven.wagon</groupId>
			<artifactId>wagon-webdav-jackrabbit</artifactId>
			<version>1.0-beta-7</version>
		</extension>
	</extensions>
  </build>
  <distributionManagement>
    <site>
      <id>vcclassserver</id>
      <url>dav:http://127.0.0.1/sites/</url>
    </site>
  </distributionManagement>
</project>

3. 配置WebDAV身份验证

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

File : settings.xml

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

4. mvn site:deploy

“mvn site:deploy” 命令执行:

C:\worksp\vcclass-core>mvn site:deploy
... ...
Transfer finished. 11622 bytes copied in 0.021 seconds
十一月 03, 2015 9:00:07 下午 org.apache.commons.httpclient.auth.AuthChallengePro
cessor selectAuthScheme
信息: digest authentication scheme selected
Uploading: .//project-info.html to http://127.0.0.1/sites/

##十一月 03, 2015 9:00:07 下午 org.apache.commons.httpclient.auth.AuthChallengeP
rocessor selectAuthScheme
信息: digest authentication scheme selected
##http://127.0.0.1/sites//./project-info.html - Status code: 201

Transfer finished. 11170 bytes copied in 0.035 seconds
十一月 03, 2015 9:00:07 下午 org.apache.commons.httpclient.auth.AuthChallengePro
cessor selectAuthScheme
信息: digest authentication scheme selected
Uploading: .//project-summary.html to http://127.0.0.1/sites/

##十一月 03, 2015 9:00:07 下午 org.apache.commons.httpclient.auth.AuthChallengeP
rocessor selectAuthScheme
信息: digest authentication scheme selected
##http://127.0.0.1/sites//./project-summary.html - Status code: 201

Transfer finished. 10190 bytes copied in 0.021 seconds
http://127.0.0.1/sites/ - Session: Disconnecting
http://127.0.0.1/sites/ - Session: Disconnected
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 28.737 s
[INFO] Finished at: 2015-11-03T21:00:07+08:00
[INFO] Final Memory: 14M/156M
[INFO] ------------------------------------------------------------------------

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

5. 输出

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

猿狮妹
2022-08-05
mvn site deploy 部署站点 WebDAV 在线教程
热门教程
1 Maven教程 Maven是一个采用纯Java编写的开源项目管理工具。Maven采用了一种被称之为project object model (POM)概念来管理项目,所有的项目配置信息都被定义在一个叫做POM.xml的文件中,通过该文件,Maven可以管理项目的整个声明周期,包括编 译,构建,测试,发布,报告等等。
2 Maven安装配置 Maven 是基于 Java 的工具,所以第一要求是JDK有安装在你的机器上。 系统要求 JDK 1.5 or above. Memory no minimum requirement. Disk Space no minimum requirement. Operating System no minimum requirement. Step 1 -验证
3 使用“mvn site-deploy”部署站点(WebDAV例子) 这里有一个指南,向您展示如何使用“mvn site:deploy”来自动部署生成的文档站点到服务器,这里通过WebDAV机制说明。 P.S 在这篇文章中,我们使用的是Apache服务器2.x的WebDAV功能。 1. 启用
4 使用Maven清理项目 在基于Maven的项目中,很多缓存输出在“target”文件夹中。如果想建立项目部署,必须确保清理所有缓存的输出,从面能够随时获得最新的部署。 要清理项目缓存的输出,发出以下命令
5 使用Maven模板创建项目 在本教程中,我们将向你展示如何使用mvn archetype:generate从现有的Maven模板列表中生成项目。在Maven 3.3.3,有超过1000+个模板,Maven 团队已经过滤掉一些无用的模板。 通常情况下,我们只
6 Maven依赖管理 其中一个Maven的核心特征是依赖管理。管理依赖关系变得困难的任务一旦我们处理多模块项目(包含数百个模块/子项目)。 Maven提供了一个高程度的控制来管理这样的场景。 传递依赖发
7 Maven启用代理访问 如果你的公司正在建立一个防火墙,并使用HTTP代理服务器来阻止用户直接连接到互联网。如果您使用代理,Maven将无法下载任何依赖。 为了使它工作,你必须声明在 Maven 的配置文件中
8 Maven本地资源库 Maven的本地资源库是用来存储所有项目的依赖关系(插件jar和其他文件,这些文件被Maven下载)到本地文件夹。很简单,当你建立一个Maven项目,所有相关文件将被存储在你的Maven本地仓
9 Maven中央存储库 当你建立一个 Maven 的项目,Maven 会检查你的 pom.xml 文件,以确定哪些依赖下载。首先,Maven 将从本地资源库获得 Maven 的本地资源库依赖资源,如果没有找到,然后把它会从默认的 Mav
10 如何从Maven远程存储库下载? 根据 Apache Maven 的说明: Downloading in Maven is triggered by a project declaring a dependency that is not present in the local repository (or for a SNAPSHOT, when the remote repository contains one that is newer). By default, Maven w
  • Copyright © 2021 猿狮院, All rights reserved.