COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0
1. Definitions.
1.1. "Contributor" means each individual or entity that
creates or contributes to the creation of Modifications.
1.2. "Contributor Version" means the combination of the
Original Software, prior Modifications used by a
Contributor (if any), and the Modifications made by that
particular Contributor.
1.3. "Covered Software" means (a) the Original Software, or
(b) Modifications, or (c) the combination of files
containing Original Software with files containing
Modifications, in each case including portions thereof.
1.4. "Executable" means the Covered Software in any form
other than Source Code.
1.5. "Initial Developer" means the individual or entity
that first makes Original Software available under this
License.
1.6. "Larger Work" means a work which combines Covered
Software or portions thereof with code not governed by the
terms of this License.
1.7. "License" means this document.
1.8. "Licensable" means having the right to grant, to the
maximum extent possible, whether at the time of the initial
grant or subsequently acquired, any and all of the rights
conveyed herein.
1.9. "Modifications" means the Source Code and Executable
form of any of the following:
A. Any file that results from an addition to,
deletion from or modification of the contents of a
file containing Original Software or previous
Modifications;
B. Any new file that contains any part of the
Original Software or previous Modification; or
C. Any new file that is contributed or otherwise made
available under the terms of this License.
1.10. "Original Software" means the Source Code and
Executable form of computer software code that is
originally released under this License.
1.11. "Patent Claims" means any patent claim(s), now owned
or hereafter acquired, including without limitation,
method, process, and apparatus claims, in any patent
Licensable by grantor.
1.12. "Source Code" means (a) the common form of computer
software code in which modifications are made and (b)
associated documentation included in or with such code.
1.13. "You" (or "Your") means an individual or a legal
entity exercising rights under, and complying with all of
the terms of, this License. For legal entities, "You"
includes any entity which controls, is controlled by, or is
under common control with You. For purposes of this
definition, "control" means (a) the power, direct or
indirect, to cause the direction or management of such
entity, whether by contract or otherwise, or (b) ownership
of more than fifty percent (50%) of the outstanding shares
or beneficial ownership of such entity.
2. License Grants.
2.1. The Initial Developer Grant.
Conditioned upon Your compliance with Section 3.1 below and
subject to third party intellectual property claims, the
Initial Developer hereby grants You a world-wide,
royalty-free, non-exclusive license:
(a) under intellectual property rights (other than
patent or trademark) Licensable by Initial Developer,
to use, reproduce, modify, display, perform,
sublicense and distribute the Original Software (or
portions thereof), with or without Modifications,
and/or as part of a Larger Work; and
(b) under Patent Claims infringed by the making,
using or selling of Original Software, to make, have
made, use, practice, sell, and offer for sale, and/or
otherwise dispose of the Original Software (or
portions thereof).
(c) The licenses granted in Sections 2.1(a) and (b)
are effective on the date Initial Developer first
distributes or otherwise makes the Original Software
available to a third party under the terms of this
License.
(d) Notwithstanding Section 2.1(b) above, no patent
license is granted: (1) for code that You delete from
the Original Software, or (2) for infringements
caused by: (i) the modification of the Original
Software, or (ii) the combination of the Original
Software with other software or devices.
2.2. Contributor Grant.
Conditioned upon Your compliance with Section 3.1 below and
subject to third party intellectual property claims, each
Contributor hereby grants You a world-wide, royalty-free,
non-exclusive license:
(a) under intellectual property rights (other than
patent or trademark) Licensable by Contributor to
use, reproduce, modify, display, perform, sublicense
and distribute the Modifications created by such
Contributor (or portions thereof), either on an
unmodified basis, with other Modifications, as
Covered Software and/or as part of a Larger Work; and
(b) under Patent Claims infringed by the making,
using, or selling of Modifications made by that
Contributor either alone and/or in combination with
its Contributor Version (or portions of such
combination), to make, use, sell, offer for sale,
have made, and/or otherwise dispose of: (1)
Modifications made by that Contributor (or portions
thereof); and (2) the combination of Modifications
made by that Contributor with its Contributor Version
(or portions of such combination).
(c) The licenses granted in Sections 2.2(a) and
2.2(b) are effective on the date Contributor first
distributes or otherwise makes the Modifications
available to a third party.
(d) Notwithstanding Section 2.2(b) above, no patent
license is granted: (1) for any code that Contributor
has deleted from the Contributor Version; (2) for
infringements caused by: (i) third party
modifications of Contributor Version, or (ii) the
combination of Modifications made by that Contributor
with other software (except as part of the
Contributor Version) or other devices; or (3) under
Patent Claims infringed by Covered Software in the
absence of Modifications made by that Contributor.
3. Distribution Obligations.
3.1. Availability of Source Code.
Any Covered Software that You distribute or otherwise make
available in Executable form must also be made available in
Source Code form and that Source Code form must be
distributed only under the terms
maven for macos
需积分: 0 98 浏览量
更新于2024-05-13
收藏 6.21MB ZIP 举报
** Maven for macOS 知识点详解 **
Maven 是一个流行的构建工具,主要在 Java 开发领域广泛应用。它简化了项目构建、依赖管理和版本控制,使得开发者能够通过一个统一的命令行接口执行编译、测试、打包等任务。在 macOS 系统上使用 Maven,可以极大地提高开发效率和代码质量。
1. **Maven 的基本概念**
- **POM(Project Object Model)**: Maven 的核心是 POM 文件,它是项目的模型,包含了项目的基本信息、构建指令、依赖关系等配置。
- **仓库管理**: Maven 使用本地仓库存储下载的依赖库,同时连接到中央仓库和其他远程仓库获取必要的组件。
- **生命周期(Lifecycle)**: Maven 具有一套预定义的构建阶段,如清理(clean)、编译(compile)、测试(test)、打包(package)、验证(verify)、安装(install)和部署(deploy)。
2. **安装 Maven on macOS**
- 可以通过 Homebrew 包管理器来安装 Maven,命令为 `brew install maven`。
- 下载 Apache Maven 的官方发布版,例如 `apache-maven-3.6.3`,解压后将其路径添加到 `$PATH` 环境变量中,确保命令行可直接调用 `mvn` 命令。
3. **配置 Maven**
- 在用户主目录下创建 `.m2` 目录,包含 `settings.xml` 文件,用于配置本地仓库位置、镜像源以及全局的项目属性。
- 镜像源配置可以加速依赖下载,例如,将阿里云的 Maven 镜像源添加到 `settings.xml` 中。
4. **使用 Maven**
- 创建新项目:使用 `mvn archetype:generate` 创建基于模板的新项目。
- 编译与测试:运行 `mvn compile` 进行编译,`mvn test` 执行单元测试。
- 打包与安装:`mvn package` 将项目打包成 JAR 或 WAR,`mvn install` 将打包好的文件安装到本地仓库。
- 清理:`mvn clean` 清除目标目录下的所有构建结果。
5. **Maven 依赖管理**
- 通过 `<dependencies>` 标签声明项目依赖,Maven 自动解决版本冲突并下载依赖。
- `<dependencyManagement>` 可以统一管理项目的依赖版本。
- `<dependency>` 的 `<scope>` 属性指定依赖范围,如 compile(编译时),runtime(运行时),test(仅测试阶段)等。
6. **插件管理**
- Maven 插件扩展了 Maven 功能,如 `maven-surefire-plugin` 用于执行测试,`maven-compiler-plugin` 进行 Java 代码编译。
- 插件配置在 `pom.xml` 的 `<build><plugins>` 部分,通过 `<plugin>` 标签定义。
7. **Maven 与 IDE 集成**
- IntelliJ IDEA 和 Eclipse 等主流 IDE 都提供了 Maven 集成功能,可以直接导入 Maven 项目,并在 IDE 内部执行 Maven 命令。
8. **Maven 多模块项目**
- 对于大型项目,通常会设置多个子模块,使用 `<modules>` 标签在父 `pom.xml` 中声明子模块,实现模块间的依赖关系。
9. **持续集成与 Maven**
- Jenkins、Travis CI 等持续集成工具支持 Maven,可以在构建过程中自动执行 Maven 任务,确保代码质量和构建一致性。
10. **Maven Profile**
- Maven 提供了 Profile 功能,允许根据不同的环境条件应用不同的配置,如开发、测试和生产环境的配置差异。
Maven for macOS 提供了一个强大且标准化的构建工具,帮助开发者在 macOS 平台上高效地管理 Java 项目。通过理解并熟练运用 Maven 的核心概念和命令,开发者可以更专注于编写高质量的代码,而不再为构建过程中的琐事烦恼。
一叶扁舟3
- 粉丝: 31
- 资源: 5
最新资源
- 强化学习控制电动汽车储能系统的Matlab项目.rar
- 强化学习算法的基准案例:网格世界和推车上的倒立摆Matlab代码.rar
- 天邦达上位机软件2.35
- 轻型包裹运输的自主无人机递送系统附matlab代码.rar
- 深度强化学习应用无人机附python代码.rar
- 人类强化学习中的无模型过程Matlab代码.rar
- 设计和开发一种受蝙蝠启发的微型无人机,可以通过救援和监视行动协助灾害管理matlab代码.rar
- 实现分层强化学习算法Matlab实现.rar
- 使用 FDM 和 PWE 方法计算谐振微腔中麦克斯韦方程组的解matlab代码.rar
- 使用 EKF 的 Cubesat 姿态确定Matlab代码.rar
- Matlab实现TSOA-CNN-GRU-Mutilhead-Attention凌日优化算法优化卷积门控循环单元融合多头注意力机制多特征分类预测(含完整的程序,GUI设计和代码详解)
- 使用MATLAB的平方根无迹卡尔曼滤波器(SR-UKF)的简单、快速、可读的实现.rar
- 使用EKF、IECF和UKF估算非线性预测和测量Matlab代码.rar
- 基于Python语言的OpenSees算例(重点在于Python语言在OpenSees中的应用)
- 使用了随机梯度下降法(SGD)和批量梯度下降法(BGD)解决单层感知机问题Matlab代码.rar
- c语言课程设计-ktv歌曲系统