官方链接:https://docs.geoserver.org/main/en/developer/maven-guide/index.html
Maven 指南
使用 Maven 构建 GeoServer 的参考。
安装 Maven
查看工具。
运行 Maven
Maven 提供了广泛的命令,可用于执行从编译模块到生成测试覆盖率报告等所有操作。大多数 maven 命令都可以从源树的根目录或特定模块运行。
笔记
当尝试从源树的根目录运行 maven 命令时,请记住将目录从根目录更改为检出目录
src
。
从源树的根目录或包含其他模块的目录运行命令时,该命令将针对所有模块运行。从单个模块运行命令时,该命令仅针对该模块运行。
建筑
与 GeoServer 一起使用的最常用的 maven 命令是 install 命令:
mvn clean install
虽然此clean
命令不是必需的,但建议使用。运行此命令将执行以下操作:
编译源代码
运行单元测试
将工件安装到本地 Maven 存储库中
跳过测试
在执行构建时跳过单元测试通常很有用。将标志添加 -DskipTests
到构建命令将仅编译单元测试,但不运行它们:
mvn -DskipTests clean install
离线构建
Maven 会自动下载正在构建的模块声明的依赖项。对于 SNAPSHOT 依赖项,Maven 每次执行当天的第一次构建时都会下载更新。
GeoServer 依赖于 GeoTools 库的 SNAPSHOT 版本。自动下载可能会导致构建时间过长,因为 Maven 会下载更新的 GeoTools 模块。如果 GeoTools 是在本地构建的,则无需进行这些下载。
此外,如果在本地修改 GeoTools,则应使用模块的本地版本而不是 SNAPSHOT 版本。
可以通过在“离线模式”下运行 maven 来解决此问题:
mvn -o clean install
在离线模式下,Maven 不会下载外部依赖项,也不会更新 SNAPSHOT 依赖项。
构建扩展
默认情况下,扩展不包含在构建中。它们通过配置文件明确添加到构建中。例如,以下命令将restconfig
扩展添加到构建中:
mvn clean install -P restconfig
可以同时启用多个扩展:
mvn clean install -P restconfig,oracle
名为的特殊配置文件allExtensions
可启用所有扩展:
mvn clean install -P allExtensions
恢复构建
-
修复测试失败后,您可以从构建中的特定点“恢复”:
mvn install -rf extension/wps
-
从 301 重定向中恢复
从 2.0.10 开始,Maven 中存在一个长期存在的错误,即在移动工件时处理 301 错误。解决方法是使用以下选项运行 Maven:
mvn install -Dmaven.wagon.provider.http=httpclient
这不是一个常见问题。
配置文件
pom.xml 文件中定义了其他配置文件,提供可选的构建步骤。配置文件直接通过 -P 标志启用,其他配置文件则根据使用的平台或定义的 -D 属性自动激活。
要将发布模块作为构建的一部分进行构建:
-Drelease
包括远程测试:
-PremoteOwsTests
配置文件还用于管理可选扩展社区插件:
-Pproxy -Poracle -Pupload -Pwps
pom.xml 文件中定义了其他配置文件,提供可选的构建步骤。配置文件直接通过 -P 标志启用,其他配置文件则根据使用的平台或定义的 -D 属性自动激活。
要使用 UML 图构建 javadoc:
-Duml
要将发布模块作为构建的一部分进行构建:
-Drelease
要包含旧模块:
-Plegacy
包括远程测试:
-PremoteOwsTests
配置文件还用于管理几个可选的社区插件:
-Pupload -Pwps -Pproxy
生成测试覆盖率报告
可以通过启用jacoco配置文件运行测试来生成测试覆盖率报告:
mvn test -Pjacoco
覆盖率报告在每个模块的target/site/jacoco目录中生成。
使用 Jetty 运行 web 模块
Maven Jetty 插件可用于运行基于嵌入式 Jetty 容器中的 Web 模块:
cd geoserver_2.0.x/src/web/app mvn jetty:run
笔记
此命令必须从 web/app 模块运行,如果从其他地方运行则会失败。
上述命令将使用内置数据目录运行 GeoServer。要指定不同的数据目录,GEOSERVER_DATA_DIR
请使用以下标志:
mvn -DGEOSERVER_DATA_DIR=/path/to/datadir jetty:run
构建 web 模块
安装模块时web
,它会内置一个特定的配置。默认情况下,这是配置。但是,可以通过和 标志minimal
自定义它以内置任何配置。例如:configId
configDirectory
mvn clean install -DconfigId=release -DconfigDirectory=../../../data/release
上述命令根据 GeoServer 附带的发布配置构建 Web 模块。 是configId
要包含的配置目录的名称, 是configDirectory
要包含的配置目录的父目录。
这也可以在运行本地 jetty 应用服务器时使用:
mvn jetty:运行-DconfigId = release -DconfigDirectory = .. /.. /.. / data / release
如果您有想要使用的自定义数据目录,您也可以使用绝对路径。
标签:install,配置文件,Maven,编译,源码,构建,模块,geoserver,mvn From: https://www.cnblogs.com/lyggqm/p/18600021