Maven site生成的站点文件,可以直接部署到容器中,以下以Tomcat为例。
1> tomcat默认支持WebDav协议,支持热部署。
首先在Tomcat的webapps目录下生成一个site目录,然后在site目录里生成WEB-INF目录,结构如下:
apache-tomcat-7.0.47
|--webapps
|--site
|--WEB-INF
|--web.xml
web.xml内容如下:
<servlet>
<servlet-name>webdav</servlet-name>
<servlet-class>org.apache.catalina.servlets.WebdavServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>readonly</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>webdav</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<!-- Define a Security Constraint on this Application -->
<!-- NOTE: None of these roles are present in the default users file -->
<security-constraint>
<web-resource-collection>
<web-resource-name>Site</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>site</role-name>
</auth-constraint>
</security-constraint>
<!-- Define the Login Configuration for this Application -->
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>Maven Site Deploy</realm-name>
</login-config>
<!-- Security roles referenced by this web application -->
<security-role>
<description>
The role that is required to access to site pages
</description>
<role-name>site</role-name>
</security-role>
</web-app>
<security-role>、<login-config>、<security-constraint>是给发布站点增加访问权限设置,以上设置为只有角色为site的用户才能访问发布站点。
site角色用户,在tomcat根目录下的conf/tomcat-users.xml增加以下设置:
<role rolename="site" />
<user username="admin" password="xxxxxx" roles="site" />
2> 在项目的pom.xml中增加以下设置:
<!--设置site插件读取源文件、输出站点文件的编码格式为UTF-8 -->
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>
<reporting>
<plugins>
<!--测试代码覆盖率报告插件 -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.6</version>
<configuration>
<aggregate>true</aggregate>
</configuration>
</plugin>
<!--javadoc报告插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.10.1</version>
</plugin>
<!--源代码在线查看插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jxr-plugin</artifactId>
<version>2.4</version>
<configuration>
<aggregate>true</aggregate>
</configuration>
</plugin>
<!--代码规范检查报告插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.13</version>
<configuration>
<configLocation>config/maven_checks.xml</configLocation>
<goal>checkstyle-aggregate</goal>
</configuration>
</plugin>
<!--版本控制信息报告插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-changelog-plugin</artifactId>
<version>2.3</version>
</plugin>
<!--findbugs报告插件 -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>3.0.0</version>
</plugin>
</plugins>
</reporting>
<!--发布站点URL配置 -->
<distributionManagement>
<site>
<id>site</id>
<url>dav:http://localhost:8080/site</url>
</site>
</distributionManagement>
<build>
<plugins>
<!-- 配置site插件使用中文界面 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.4</version>
<configuration>
<locales>zh_CN</locales>
</configuration>
</plugin>
</plugins
<extensions>
<!-- 配置site插件deploy时,部署到webdav协议的站点时,需要用到的
webdav协议识别插件 -->
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-webdav-jackrabbit</artifactId>
<version>2.7</version>
</extension>
</extensions>
</build>
3> 因为site发布的站点设置了访问控制权限,因此需要在用户的settings.xml文件中设置访问权限:
<server>
<!-- id必须和pom.xml中的发布站点id保持一致 -->
<id>site</id>
<username>admin</username>
<password>xxxxxx</password>
</server>
至此,maven site:deploy 站点部署配置完成。maven确实很方便,也做了很多项目信息的整合,确实好用,虽然入门难了点。
enjoy maven, enjoy life...
分享到:
相关推荐
6. **部署站点**:生成的站点默认位于 `target/site` 目录下,可以通过 `mvn site:deploy` 命令将其部署到远程服务器。部署配置在 `pom.xml` 的 `<distributionManagement>` 部分进行。 7. **多模块项目**:在多...
部署阶段,可以使用`mvn site:deploy`命令将生成的站点部署到远程服务器,使得团队成员和外部用户能够访问。也可以选择将站点托管在GitHub Pages或其他类似的平台上,以便于分享和协作。 在标签中提到的...
maven教程,目录如下: ...使用“mvn site-deploy”部署站点(WebDAV例子) 部署基于Maven的war文件到Tomcat Eclipse创建一个Maven Web项目 在易百教程网看到的,觉得还不错,就做成了chm笔记本形式
Maven有三个主要的生命周期:`default`(编译)、`clean`(清理)和`site`(生成站点)。每个生命周期由一系列阶段(如`validate`, `compile`, `package`等)组成,命令执行时会按顺序执行相应阶段。 6. Maven插件...
`clean`用于清理项目,`default`用于编译、测试、打包和部署,`site`则用于生成项目站点。 4. **插件**:Maven通过插件执行实际的构建任务,如编译源代码、运行测试、打包JAR等。插件的配置也在POM中进行。 5. **...
这里推荐的是Manik Hot-Deploy插件,其更新站点为http://www.imixs.org/manik.updatesite/。 安装Manik Hot-Deploy插件后,我们需要进行一些配置。首先,在Glassfish的服务器配置中,双击Glassfish图标,取消...
Maven生命周期的默认阶段包括编译(compile)、测试(test)、打包(package)、安装(install)和部署(deploy)。Maven通过插件系统实现了其生命周期中的目标,每个插件都是一组可以执行特定任务的目标集合。 ...
- site-deploy:将站点部署到远程服务器。 ** Maven 的仓库管理 ** Maven 使用仓库来存储和检索依赖。默认的本地仓库位于用户的主目录下,远程仓库通常包括中央仓库和自定义的企业级仓库。中央仓库由 Maven 社区...
- site-deploy:将生成的站点部署到服务器 阶段(phase)是生命周期中的具体任务单元,它们按照特定的顺序执行。每个阶段可以绑定一个或多个插件目标(goal),插件目标执行实际的工作。例如,compile阶段通常绑定...
- **4.1.3 站点生命周期 (site)**:站点生命周期包含 `pre-site`、`site`、`post-site` 和 `site-deploy` 等阶段,主要用于生成项目文档和站点信息。 通过了解 Maven 的这些基础知识和核心概念,开发者可以更好地...
- **站点(Site)**:生成项目文档和站点信息。 3. Maven 插件: - Maven 包含了大量的插件,用于执行各种任务,如编译源代码、运行测试、打包、部署等。例如,maven-compiler-plugin用于编译Java源代码,maven-...
- **site-deploy**: 将站点部署到服务器。 通过以上内容的学习,读者可以深入了解 Maven 的工作原理及其如何帮助管理和构建 Java 项目。接下来,读者可以通过实践操作来加深对 Maven 的理解和掌握,为实际项目开发...
- **部署插件**(maven-deploy-plugin):将项目部署到远程仓库。 - **资源插件**(maven-resources-plugin):处理项目的资源文件,如复制到目标目录。 - **清理插件**(maven-clean-plugin):清除构建目标目录...
- **部署与发布**:Maven支持多种部署策略,如使用`mvn deploy`命令将构建产物部署到远程仓库,或使用`mvn site:deploy`命令部署站点文档。 #### 总结 Maven作为一款强大的工具,不仅解决了开发过程中常见的痛点...
- default阶段是核心生命周期,包括编译(compile)、测试(test)、打包(package)、验证(install)和部署(deploy)等目标。 - site阶段用于生成项目报告和站点文档。 5. Maven插件: - Maven通过插件机制...
Maven有三个主要生命周期:clean(清理)、default(构建)和site(站点)。default生命周期包括编译(compile)、测试(test)、打包(package)、验证(verify)、集成测试(integration-test)、安装(install)...
- **生命周期**:Maven有三个主要的生命周期阶段:clean(清理)、default(构建)和site(站点生成)。每个阶段包含多个阶段(或称为goals),如compile(编译)、install(安装)和deploy(部署)。 2. **Maven ...
- `mvn site-deploy`:部署生成的站点文档到指定的位置,如Web服务器。 通过以上内容的学习,您可以全面了解Maven的基本概念、安装配置方法以及如何在Eclipse中集成Maven进行高效的项目管理和构建。
- **构建生命周期**: Maven有三个主要的构建生命周期阶段:`clean`(清理)、`default`(编译、测试、打包、部署)和`site`(生成项目站点)。每个阶段包含一系列的执行目标(goals)。 - **依赖管理**: 在POM.xml...
6. **mvn deploy**:将打包后的文件部署到远程Maven仓库。 7. **mvn clean**:删除上一次构建生成的文件,用于清理项目构建输出。 8. **mvn validate**:验证项目是否正确以及所有必要的信息是否可用。 9. **mvn ...