前段时间发现博客的图片都失效了,检查了一下,原来是七牛云现在需要绑定一个备案过的域名来使用。一顿操作下来,终于把自己的域名备案好了,并且连通七牛云也测通了。下面最后一步就是需要把原来的域名全部替换掉。本人是用hexo来搭建博客的,所以只要把_posts文件夹下的所有markdown文件替换一遍就好了。当然有很多方便的方式,由于最近在学习golang,现在把用go实现的笨拙的过程记录下来。其实没啥好说的,直接把贴代码吧。如果有更好的实现方式,可以告知本人,在此谢过。
Maven学习笔记七【可选的依赖项和依赖项排除】
介绍
本节可选的依赖项和排除依赖项。将帮助我们了解它们是什么,合适以及如何使用。它还解释了为什么排除是基于每个依赖项而不是POM级别。
可选依赖项
可选的依赖项用于无法(无论出于何种原因)将项目分割为子模块的情况。其思想是,一些依赖项仅用于项目中的某些特性,如果不使用该特性,则不需要这些依赖项。理想情况下,这样的特性应该被分割成依赖于核心功能项目的子模块。这个新的子项目将只有非可选的依赖项,因为如果决定使用子项目的功能,将需要所有这些依赖项。
然而,由于项目不能分割(同样,出于某种原因),这些依赖项声明为可选的。如果用户希望使用与可选依赖项相关的功能,他们必须在自己的项目中重新声明该可选依赖项。这不是处理这种情况的最清晰的方法,但是可选的依赖项和排除依赖项都是权宜之计。
Maven学习笔记六【依赖机制】
本节来学习Maven地依赖机制。
依赖关系管理是Maven的一个核心特性。管理单个项目的依赖关系很容易。管理由数百个模块组成的项目的依赖关系是可能的。Maven在定义、创建和维护具有良好定义地类路径和库版本的可重复构建方面帮助很大。
传递依赖
Maven通过自动包含传递依赖项,来避免查找和指定自己的依赖项所需要的库。
通过从指定的远程存储库中读取依赖项的项目文件,可以简化该特性。通常,这些项目的所有依赖项都在项目中使用,项目从其父项目继承的依赖项或从其依赖项继承的依赖项也是如此。
可以从依赖项收集的几部数量没有限制,只有在发现循环依赖关系时才会出现问题。
通过传递依赖关系,所包含库地图可以快速增长到相当大。由于这个原因,还有一些附加特性限制了所包含的依赖关系:
Maven学习笔记五【Repositories】
本节来学习下Maven的存储库。
介绍存储库
构件库
Maven中的存储库用于保存不同类型的构建项目和依赖关系。
严格来讲,只有两种类型的存储库:本地存储库和远程存储。本地存储库指向本地的一个副本,该副本是远程下载的缓存,并且还包含尚未发布的临时构建项目。
远程库指的是任何其他类型的存储库,可以通过各种协议访问如file://和http:// 。这些存储库可能是由第三方简历的真正远程存储库,以提供可以下载的项目(例如Maven中央存储库)。其它“远程”存储库可能是在公司内的文件或HTTP服务器上简历的内部存储库,用于在开发团队和版本之间共享私有项目。
本地存储库和远程存储库的结构是相同的,因此脚本可以轻松地在任意一方运行,或者可以同步以便脱机使用。但是,一般情况下,存储库的布局对Maven用户是完全透明的。
Maven学习笔记四【Profiles】
本节来学习下Maven的Profiles
介绍Build Profiles
Apache Maven 2.0竭尽全力确保构建是可移植的。除其他之外,这意味着允许在POM中进行构建配置,避免所有文件系统的引用。并且更加依赖本地存储库来存储实现这一点所需的元数据。
然而,有时可移植性并不是完全可能的。某些条件下,插件可能需要配置本地文件系统路径。在其他情况下,需要一个稍微不同的依赖集,并且项目的artifact名称可能需要稍微调整一下。在另一种情况下,甚至可能需要在构建生命周期中包含一个完整的插件,这取决于所检测到的构建环境。
为了解决这些情况,Maven 2.0引入了构建概要文件的概念。配置文件使用POM本身可用元素的子集(外加一个额外的部分)来指定,并以各种方式触发。他们在构建时修改POM,并用于互补的集合中,以便为一组目标环境提供等效但不同的参数(例如,在开发、测试和生产环境中提供appserver根的路径)。因此,概要文件很容易导致来自团队不同成员的构建结果不同。但是,如果使用得当,可以在使用概要文件的同时仍然保持项目的可移植性。这也将最小化maven -f选项的使用,该选项允许用户使用不同的参数或配置创建另一个POM,从而使其更易于维护,因为它只在一个POM上运行。