`
南望山下守望者
  • 浏览: 10205 次
  • 来自: 武汉
社区版块
存档分类
最新评论

Maven site:deploy 站点部署

    博客分类:
  • Java
阅读更多
    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...
分享到:
评论

相关推荐

    Maven3实战笔记14Maven生成项目站点

    6. **部署站点**:生成的站点默认位于 `target/site` 目录下,可以通过 `mvn site:deploy` 命令将其部署到远程服务器。部署配置在 `pom.xml` 的 `&lt;distributionManagement&gt;` 部分进行。 7. **多模块项目**:在多...

    maven站点:Apache Maven站点

    部署阶段,可以使用`mvn site:deploy`命令将生成的站点部署到远程服务器,使得团队成员和外部用户能够访问。也可以选择将站点托管在GitHub Pages或其他类似的平台上,以便于分享和协作。 在标签中提到的...

    chm版本Maven教程

    maven教程,目录如下: ...使用“mvn site-deploy”部署站点(WebDAV例子) 部署基于Maven的war文件到Tomcat Eclipse创建一个Maven Web项目 在易百教程网看到的,觉得还不错,就做成了chm笔记本形式

    Maven使用命令创建工程,打包工程和常用命令使用的代码文件

    Maven有三个主要的生命周期:`default`(编译)、`clean`(清理)和`site`(生成站点)。每个生命周期由一系列阶段(如`validate`, `compile`, `package`等)组成,命令执行时会按顺序执行相应阶段。 6. Maven插件...

    Maven源:Apache Maven源

    `clean`用于清理项目,`default`用于编译、测试、打包和部署,`site`则用于生成项目站点。 4. **插件**:Maven通过插件执行实际的构建任务,如编译源代码、运行测试、打包JAR等。插件的配置也在POM中进行。 5. **...

    Maven 安装插件 glassfish热部署

    这里推荐的是Manik Hot-Deploy插件,其更新站点为http://www.imixs.org/manik.updatesite/。 安装Manik Hot-Deploy插件后,我们需要进行一些配置。首先,在Glassfish的服务器配置中,双击Glassfish图标,取消...

    Maven: The Definitive Guide

    Maven生命周期的默认阶段包括编译(compile)、测试(test)、打包(package)、安装(install)和部署(deploy)。Maven通过插件系统实现了其生命周期中的目标,每个插件都是一组可以执行特定任务的目标集合。 ...

    maven-3.52

    - site-deploy:将站点部署到远程服务器。 ** Maven 的仓库管理 ** Maven 使用仓库来存储和检索依赖。默认的本地仓库位于用户的主目录下,远程仓库通常包括中央仓库和自定义的企业级仓库。中央仓库由 Maven 社区...

    maven 总结

    - site-deploy:将生成的站点部署到服务器 阶段(phase)是生命周期中的具体任务单元,它们按照特定的顺序执行。每个阶段可以绑定一个或多个插件目标(goal),插件目标执行实际的工作。例如,compile阶段通常绑定...

    Maven The Complete Reference

    - **4.1.3 站点生命周期 (site)**:站点生命周期包含 `pre-site`、`site`、`post-site` 和 `site-deploy` 等阶段,主要用于生成项目文档和站点信息。 通过了解 Maven 的这些基础知识和核心概念,开发者可以更好地...

    apache-maven-3.3.9

    - **站点(Site)**:生成项目文档和站点信息。 3. Maven 插件: - Maven 包含了大量的插件,用于执行各种任务,如编译源代码、运行测试、打包、部署等。例如,maven-compiler-plugin用于编译Java源代码,maven-...

    maven - maven tutorial

    - **site-deploy**: 将站点部署到服务器。 通过以上内容的学习,读者可以深入了解 Maven 的工作原理及其如何帮助管理和构建 Java 项目。接下来,读者可以通过实践操作来加深对 Maven 的理解和掌握,为实际项目开发...

    maven仓库基本插件

    - **部署插件**(maven-deploy-plugin):将项目部署到远程仓库。 - **资源插件**(maven-resources-plugin):处理项目的资源文件,如复制到目标目录。 - **清理插件**(maven-clean-plugin):清除构建目标目录...

    Maven笔记.pdf

    - **部署与发布**:Maven支持多种部署策略,如使用`mvn deploy`命令将构建产物部署到远程仓库,或使用`mvn site:deploy`命令部署站点文档。 #### 总结 Maven作为一款强大的工具,不仅解决了开发过程中常见的痛点...

    SpringBoot项目使用maven配置文件

    - default阶段是核心生命周期,包括编译(compile)、测试(test)、打包(package)、验证(install)和部署(deploy)等目标。 - site阶段用于生成项目报告和站点文档。 5. Maven插件: - Maven通过插件机制...

    apache-maven-3.6.3-linux.rar

    Maven有三个主要生命周期:clean(清理)、default(构建)和site(站点)。default生命周期包括编译(compile)、测试(test)、打包(package)、验证(verify)、集成测试(integration-test)、安装(install)...

    maven3.8.5压缩包

    - **生命周期**:Maven有三个主要的生命周期阶段:clean(清理)、default(构建)和site(站点生成)。每个阶段包含多个阶段(或称为goals),如compile(编译)、install(安装)和deploy(部署)。 2. **Maven ...

    maven使用文档

    - `mvn site-deploy`:部署生成的站点文档到指定的位置,如Web服务器。 通过以上内容的学习,您可以全面了解Maven的基本概念、安装配置方法以及如何在Eclipse中集成Maven进行高效的项目管理和构建。

    最新Maven-apache-maven-3.8.1-Repository-配置好的

    - **构建生命周期**: Maven有三个主要的构建生命周期阶段:`clean`(清理)、`default`(编译、测试、打包、部署)和`site`(生成项目站点)。每个阶段包含一系列的执行目标(goals)。 - **依赖管理**: 在POM.xml...

    maven的使用

    6. **mvn deploy**:将打包后的文件部署到远程Maven仓库。 7. **mvn clean**:删除上一次构建生成的文件,用于清理项目构建输出。 8. **mvn validate**:验证项目是否正确以及所有必要的信息是否可用。 9. **mvn ...

Global site tag (gtag.js) - Google Analytics