Archive for the ‘ JAVA ’ Category

《Maven官方文档》插件前缀解析策略

原文链接  译者:carvendy

插件前缀解析策略

当你执行maven的时候使用一个标准的生命周期,这些插件参与的生命周期就像是一个相当简单的进程。无论如何,当你从命令行中引用一个指令,例如clean,Maven必须有一些可靠的方式让clean插件前缀为maven-clean-plugin。这提供了简洁的命令行调用,当保存这些描述性的插件的真实工件id。

对于很多复杂性的问题,不是所有插件应该被强制使用同样的组id(在仓库中)。从这些组id在一个项目中假定被控制,和对于Maven多个项目可能使用的插件,它跟随着插件前缀匹配必须容纳多个插件组id。 对于地址关系,Maven提供了一块新的的仓库级别元数据(与任何单一的工件无关)对于插件组来说,在一个插件匹配管理者来组织多个插件组合提供功能性的搜索。

指定的插件前缀

为了给使用者方便的前缀去引用你的插件,一个前缀必须与你的插件相关在构建的时候。在默认的情况下,Maven将令一个猜想的前缀被使用,被移除任何被“maven”或者“plugin”的连字符在这些插件的工件id。方便的工件id格式被定为:

  • maven-${prefix}-plugin – 官方Apahe团队的插件(你不必使用这些命名的规则作为你的插件,看看更多的信息
  • ${prefix}-maven-plugin – 其他来源的插件。

如果你的插件工件id符合这个规则,Maven将会根据元数据中正确的前缀自动匹配你插件的组id在仓库中的路径。无论如何,如果你想自定义前缀来引用的你插件,你可以指定前缀来引导通过配置参数在maven-plugin-plugin在你的pom中:

<project>
  ...
  <build>
    ...
    <plugins>
      ...
      <plugin>
        <artifactId>maven-plugin-plugin</artifactId>
        <version>2.3</version>
        <configuration>
          ...
          <goalPrefix>somePrefix</goalPrefix>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

以上的配置讲允许使用者引用你的插件通过前缀somePrefix,作为一个例子:

mvn somePrefix:goal

匹配前缀插件

对于每一个组id配置是为了搜索,Maven将:

  1. 从每一个远程仓库下载maven-metadata.xml到本地仓库,和命名为maven-metadata-${repoId}.xml 在内部使用 ${groupId}路径。
  2. 加载元数据文件,在maven-metadata-local.xml(如果存在)中,在内部使用 ${groupId}路径。合并它们。
  3. 发现插件前缀在合并元数据。如果它匹配,它应该引用一个具体的组和工件对。否则,继续在用户插件组中找下一个组id。 这些元数据文件组成的组(为了清晰当这些文件被大块在容器之外的目录),和一个组的插件节点。

在列表中每个插件包含一个前缀节点表示插件的命令行前缀,和一个工件节点, 提供的前缀映射对方提供了足够的信息来查找和使用插入部件。当一个插件被安装和发布,适当的元数据文件被放置和如果前缀匹配丢失了,修改前缀匹配。

配置Maven查找插件

默认情况下,maven将搜索组id org.apache.maven.plugins 为了前缀工件匹配插件,它需要在构建过程中执行。无论如何,前面提到的,使用者可能需要一个第三方的插件。从Maven项目被假定有控制的默认插件组,这意味着配置maven来搜索其他组的位置为了插件前缀匹配。

这很简单。在Maven配置文件(当前用户:${user.home}/.m2/settings.xml; 全局:${maven.home}/conf/settings.xml),你可以提供一个自定义的插件组项目,列出你想要搜索的插件(每个都在自己的plugingroup GroupID的子元素)。作为例子,如果我的项目使用了一个 模板文件,我可以设置:

<pluginGroups>
  <pluginGroup>org.codehaus.modello</pluginGroup>
</pluginGroups>

这使我能够执行以下,这将从模式生成java类:

mvn -Dversion=4.0.0 -Dmodel=maven.mdo modello:java

Maven会搜索以下GroupID的搜索后,在用户设置中指定的任何插件组:

  • org.apache.maven.plugins
  • org.codehaus.mojo

注意:当指定被使用的插件组在搜索的前缀匹配中,秩序是关键!被指定的一个插件组 com.myco.plugins有一个前缀clean,我可以覆盖maven-clean-plugin的时候,当clean:clean被调用的时候。 笔记2:想了解更多信息可以查看 settings.xml

资源

maven配置指南

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Maven官方文档》插件前缀解析策略

《Maven官方指南》jdk1.4项目使用JDK1.5构建指南

原文链接  译者:carvendy

jdk1.4项目使用JDK1.5构建指南

你自从Maven 2.2.0 需要 JDK 1.5 来执行,很多用户他们的项目依然使用java 1.4或者更老的版本,他们将需要做一些调整。 理想的情况下,你可以通过使用JDK 1.4编译和测试来解决这个问题,提供适当的工具链配置。无论如何,当前版本编译插件(2.0.2)不是工具链能做的,所以构建一个妥当的构建使用 Maven 2.2.0来构建java面板,比1.5还要老的需要更多其他的配置。 Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Maven官方指南》jdk1.4项目使用JDK1.5构建指南

《Maven官方指南》使用Maven 2 为不同环境构建

原文链接     译者:carvendy

使用Maven 2 为不同环境构建

构建同一个组件到不同的环境是经常让人苦恼的。你有多个环境,为了实例化测试和生产服务或者可能是一个服务的集合他们使用了不同的配置文件。在指南中我将解释怎么样使用配置属性来构建和打包组件并指定环境。看看构建配置属性解释 为了配置属性的概念更深入的解释。 笔记:

  • 指南指出你必须要有基本的Maven 2.
  • 将使用一种方式配置Maven,简单地解决了配置安装。由简单配置安装你,我的意思是你只能有一个文件或者小集合文件来指定环境。有其他更好的方法来处理两个和许多尺寸配置问题·····

这个例子使用标准的文档结构Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Maven官方指南》使用Maven 2 为不同环境构建

《Maven官方指南》插件文档标准指南

原文链接     译者:carvendy

介绍

标准从哪里来?

插件文档标准为解决经常抱怨的缺乏文档而编制,特别在Maven插件这块。标准是基于Maven开发邮箱列表的建议而改进。这一个社区maven插件应该怎么样使用的文档共识。

为什么需要一个文档标准

标准不是设置一些条例二十引导插件开发者如何更好地使用插件,为了那些对用户有用的插件来说。标准提醒插件开发者重要的细节需要有文档的,来帮助加快插件推进。 Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Maven官方指南》插件文档标准指南

《Maven官方指南》拷贝sun的jar包

原文地址     译者:carvendy

拷贝sun的jar包

经常用户面对需要构建反对的被sun提供的jar比如Javamail包或者Activation包和用户发现那些不在中心仓库这个破碎建筑里。不幸的很多工件在sun的二进制许可证,不允许我们分发他们的ibiblio而失败。

另外一个问题就是sun没有有任何惯例来他们命名的jar,所以我们建议使用一些公共的命名sun的工件。你可以找到一个我们建议的列表:

Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Maven官方指南》拷贝sun的jar包

《Maven官方指南》 迁移引导

原文链接

迁移引导

有时候在仓库中迁移工件是很重要的事情。例如一个项目从Maven 1 转 Maven 2。Maven 1 项目传统上使用扁平存储结构,而使用Maven 2使用的深度结构。作为一个例子Maven 1 项目有一个 maven组,而Maven 2的项目中有 org.apache.maven 的组。

制造改变了仓库可以说有很深远的影响。所以最好是第一时间获取正确,它将通过一组不同类型的迁移。

Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Maven官方指南》 迁移引导

《Spring5官方文档》19. 视图技术

原文链接  译者:dan  QQ:903585177

19.1 简介

Spring架构与其他MVC框架所不同的重要一点是视图技术,比如  , 决定使用Groovy Markup Templates 或者Thymeleaf代替JSP仅仅是配置的问题 . 这个章节主要设计主流的视图技术,以及简单提及怎样使用新的技术。这个章节假设你已经熟悉第18.5节 “Resolving views” ,该章节涵盖了视图怎样与MVC框架结合的基本知识。

Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Spring5官方文档》19. 视图技术

《Maven官方指南》Maven 类加载指南

原文链接    译者:carvendy

Maven 类加载指南

这里描述的类加载是Maven版本在 2.0.6以上的。

概述

  • System Classloader
  • Core Classloader
  • Plugin Classloaders
  • Custom Classloaders

Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Maven官方指南》Maven 类加载指南

《Spring 5 官方文档》24. 使用Spring提供远程和WEB服务

原文链接 译者:xiuson

24.1 介绍

Spring提供了使用多种技术实现远程访问支持的集成类。远程访问支持使得具有远程访问功能的服务开发变得相当简单,而这些服务由普通的 (Spring) POJO实现。目前,Spring支持以下几种远程技术: Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Spring 5 官方文档》24. 使用Spring提供远程和WEB服务

《Spring 5官方文档》37. Spring AOP的经典用法

原文链接

在本附录中,我们会讨论一些初级的Spring AOP接口,以及在Spring 1.2应用中所使用的AOP支持。
对于新的应用,我们推荐使用 Spring AOP 2.0来支持,在AOP章节有介绍。但在已有的项目中,或者阅读数据或者文章时,可能会遇到Spring AOP 1.2风格的示例。Spring 2.0完全兼容Spring 1.2,在本附录中所有的描述都是Spring 2.0所支持的。

Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Spring 5官方文档》37. Spring AOP的经典用法

《Maven官方指南》多模块工作指南

原文链接    译者:carvendy

多模块工作指南

正如所看到Pom的介绍,Maven支持在一定条件下聚合那些继承项目。这部分概述,就是关于Maven项目处理多模块,和怎么样更有效地工作。

Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Maven官方指南》多模块工作指南

Spring Boot 整合 Elasticsearch,实现 function score query 权重分查询

摘要: 原创出处 www.bysocket.com 「泥瓦匠BYSocket 」欢迎转载,保留摘要,谢谢!

『 预见未来最好的方式就是亲手创造未来 – 《史蒂夫·乔布斯传》 』

运行环境:JDK 7 或 8,Maven 3.0+
技术栈:SpringBoot 1.5+,ElasticSearch 2.3.2

本文提纲
一、ES 的使用场景
二、运行 springboot-elasticsearch 工程
三、springboot-elasticsearch 工程代码详解 Read more

《Spring 5 官方文档》6.Spring表达式语言

原文链接 译者:何一昕

6.1 介绍

Spring Expression Language(简称SpEL)是一种功能强大的表达式语言、用于在运行时查询和操作对象图;语法上类似于Unified EL,但提供了更多的特性,特别是方法调用和基本字符串模板函数。

Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Spring 5 官方文档》6.Spring表达式语言

《Maven官方指南》通过https认证远程仓库权限指南

原文地址    译者:carvendy

通过https认证远程仓库权限指南

这个文档描述怎么样配置一个maven远程仓库权限,有一个http服务需要客户端认证。这样的预期就是这文档会被 Maven 1.0 和 Maven 2.0认证。

问题

你有一个服务存储maven仓库在地址https://my.server.com/maven。这个服务只服务客户端通过ssl协议认证,被注册到一个经核实的,我们叫做CACrt的权限认证。在最简单的例子里服务被内部用于确定社区用户(例如:公司内网),服务权限认证只能有服务内部使用。

Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Maven官方指南》通过https认证远程仓库权限指南

《Spring 5官方文档》11集成测试

原文链接

11. 集成测试

11.1 概述

能够在不需要部署到应用服务器或连接到其它企业基础服务的前提下做一些集成测试是很重要的。这将使你能够测试以下内容:

  • Spring IoC容器上下文的正确装配。
  • 使用JDBC或其它ORM工具访问数据。这将包括SQL语句、Hibernate查询和JPA实体映射的正确性等等这些内容。

Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Spring 5官方文档》11集成测试

return top