当前位置: 首页 > news >正文

阳谷县住房建设委网站新闻头条今日要闻军事

阳谷县住房建设委网站,新闻头条今日要闻军事,东莞网站排名优化报价,新兴建设网站1. 新的问题 之前搭建Presto的本地开发环境时,一直使用config.properties中的plugin.bundles配置项定义需要加载的plugin模块,详细可以参考博客《win10基于IDEA,搭建Presto开发环境》presto服务启动时,指定加载哪些组件&#xff…

1. 新的问题

  • 之前搭建Presto的本地开发环境时,一直使用config.properties中的plugin.bundles配置项定义需要加载的plugin模块,详细可以参考博客《win10基于IDEA,搭建Presto开发环境》
  • presto服务启动时,指定加载哪些组件,有下面两种配置方法:
    • 线上服务部署,一般使用plugin.dir配置项,默认值:安装包下的plugin目录。会加载plugin目录下的所有插件,比较适合线上服务
    • 本地开发,一般使用plugin.bundles配置项,指定需要加载的plugin以实现服务的快速启动
  • 后来更换笔记本电脑,重新搭建本地开发环境时,发现使用plugin.bundles,竟然无法成功加载plugin
  • 具体报错信息如下,不是很完整:
    2022-07-15T22:54:50.333+0800	ERROR	main	com.facebook.presto.server.PrestoServer	Error loading pom: D:\IdeaProjects\facebook-presto-0.223.1\presto-main\..\presto-memory\pom.xml
    java.lang.RuntimeException: Error loading pom: D:\IdeaProjects\facebook-presto-0.223.1\presto-main\..\presto-memory\pom.xmlat io.airlift.resolver.ArtifactResolver.resolvePom(ArtifactResolver.java:143)...at com.facebook.presto.server.PrestoServer.main(PrestoServer.java:77)
    Caused by: org.apache.maven.project.ProjectBuildingException: 1 problem was encountered while building the effective model for com.facebook.presto:presto-memory:0.240
    [FATAL] Non-resolvable parent POM for com.facebook.presto:presto-root:0.240: Could not transfer artifact com.facebook.airlift:airbase:pom:99 from/to central (http://repo.maven.apache.org/maven2): Failed to transfer http://repo.maven.apache.org/maven2/com/facebook/airlift/airbase/99/airbase-99.pom. Error code 501, HTTPS Required and 'parent.relativePath' points at wrong local POM @ com.facebook.presto:presto-root:0.240, D:\IdeaProjects\facebook-presto-0.223.1\pom.xml, line 5, column 13for project com.facebook.presto:presto-memory:0.240 at D:\IdeaProjects\facebook-presto-0.223.1\presto-main\..\presto-memory\pom.xmlat org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:149)at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:102)at io.airlift.resolver.ArtifactResolver.resolvePom(ArtifactResolver.java:136)... 6 more
    Caused by: org.apache.maven.model.building.ModelBuildingException: 1 problem was encountered while building the effective model for com.facebook.presto:presto-memory:0.240
    [FATAL] Non-resolvable parent POM for com.facebook.presto:presto-root:0.240: Could not transfer artifact com.facebook.airlift:airbase:pom:99 from/to central (http://repo.maven.apache.org/maven2): Failed to transfer http://repo.maven.apache.org/maven2/com/facebook/airlift/airbase/99/airbase-99.pom. Error code 501, HTTPS Required and 'parent.relativePath' points at wrong local POM @ com.facebook.presto:presto-root:0.240, D:\IdeaProjects\facebook-presto-0.223.1\pom.xml, line 5, column 13at org.apache.maven.model.building.DefaultModelProblemCollector.newModelBuildingException(DefaultModelProblemCollector.java:195)at org.apache.maven.model.building.DefaultModelBuilder.readParentExternally(DefaultModelBuilder.java:841)at org.apache.maven.model.building.DefaultModelBuilder.readParent(DefaultModelBuilder.java:664)at org.apache.maven.model.building.DefaultModelBuilder.build(DefaultModelBuilder.java:310)at org.apache.maven.model.building.DefaultModelBuilder.build(DefaultModelBuilder.java:232)at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:142)... 8 more
    

分析错误日志,得到以下信息:

  • 无法正确加载指定plugin的pom.xml文件,Error loading pom ...
  • 无法加载pom文件的原因: 无法从默认的central仓库,加载presto-root的父模块com.facebook.airlift:airbase,也就是无法加载祖父模块
  • 无法访问central仓库的原因:central仓库使用的是其http地址,现在已经要求使用https方式了

2. 正确的解决办法

  • 在config.properties中,使用maven.repo.local指定本地maven仓库,

    maven.repo.local=/Users/xxx/repo
    
  • 本地仓库已经包含事先mvn clean install好的plugin jar,服务启动加载plugin时,便可以直接从本地仓库获取jar

    2023-03-07T17:21:44.074+0800	INFO	main	com.facebook.airlift.bootstrap.LifeCycleManager	Life cycle startup complete. System ready.
    2023-03-07T17:21:44.074+0800	INFO	main	com.facebook.presto.server.PluginManager	-- Loading plugin ../presto-memory/pom.xml --
    2023-03-07T17:21:55.707+0800	DEBUG	main	com.facebook.presto.server.PluginManager	Classpath for ../presto-memory/pom.xml:
    2023-03-07T17:21:55.728+0800	DEBUG	main	com.facebook.presto.server.PluginManager	    /Users/xxx/IdeaProjects/facebook-presto-0.223.1/presto-memory/target/classes
    2023-03-07T17:21:55.730+0800	DEBUG	main	com.facebook.presto.server.PluginManager	    /Users/xxx/repo/aopalliance/aopalliance/1.0/aopalliance-1.0.jar
    ...
    2023-03-07T17:21:55.760+0800	INFO	main	com.facebook.presto.server.PluginManager	Installing com.facebook.presto.plugin.memory.MemoryPlugin
    2023-03-07T17:21:55.771+0800	INFO	main	com.facebook.presto.server.PluginManager	Registering connector memory
    2023-03-07T17:21:55.773+0800	INFO	main	com.facebook.presto.server.PluginManager	-- Finished loading plugin ../presto-memory/pom.xml --
    

3. 不完美的解决办法

  • 为了避免大家走弯路,还是记录一下自己最开始的不完美的解决办法

  • 从网上查阅资料,发现该仓库确实已经从2020开始,改为使用https访问了

  • 全局搜索,只定位到maven-model-builder依赖中使用的pom-4.0.0.xml,配置的maven仓库地址符合要求

    <dependency><groupId>org.apache.maven</groupId><artifactId>maven-model-builder</artifactId><version>3.0.4</version>
    </dependency>
    

    在这里插入图片描述

  • 通过依赖分析,发现maven-model-builderpresto-main模块因为使用io.airlift.resolver:resolver:1.4,传递导入的
    在这里插入图片描述

  • 因此,就认为只要exclued掉presto-main中的maven-model-builder依赖就行

  • 结果仍然不行,最终只能使用plugin.dir配置plugin信息

    plugin.dir=../presto-server/target/presto-server-0.240/presto-server-0.240/plugin
    
  • 使用plugin.dir存在的问题: 开发过程中,模块重新编译后,需要将该模块的jar放到plugin中,否则最新的代码无法生效

4. 后记:关于Presto Plugin

  • Presto使用插件机制,符合SPI规范的Connector、Type、Function、System Access Control等可以加入到Presto中
  • 插件机制,使得组件功能可插拔、可定制化,可以满足用户的不同需求
  • 不同的插件,定义方式有所差别,但下面的一些事情是通用的:
    1. pom.xml中,packaging方式必须为presto-plugin
      <packaging>presto-plugin</packaging>
      
    2. pom.xml中,需要引入presto-spi模块。同时,必须实现SPI中定义的接口,或重写SPI中定义的方法
      <dependency><groupId>com.facebook.presto</groupId><artifactId>presto-spi</artifactId><scope>provided</scope>
      </dependency>
      
    3. 配置presto-root的pom.xml,添加该插件对应的模块
      <module>presto-xxx-module</module>
      
    4. presto-server/src/main/assembly/presto.xml文件中,配置plugin的输出目录
      <fileSet><directory>${project.build.directory}/dependency/presto-xxx-module-${project.version}</directory><outputDirectory>plugin/xxx-module</outputDirectory>
      </fileSet>
      
    5. 配置presto-server的pom.xml文件,增加以下内容,以保证安装包对应的plugin目录有它的jar包
      <dependency><groupId>com.facebook.presto</groupId><artifactId>presto-xxx-module</artifactId><version>${project.version}</version><type>zip</type><scope>provided</scope>
      </dependency>
      

文章转载自:
http://timbre.tsnq.cn
http://swore.tsnq.cn
http://teutomaniac.tsnq.cn
http://hypocrinism.tsnq.cn
http://utriculate.tsnq.cn
http://overnice.tsnq.cn
http://hospitalisation.tsnq.cn
http://infirmatory.tsnq.cn
http://conjee.tsnq.cn
http://seamanship.tsnq.cn
http://tenderness.tsnq.cn
http://oecumenicity.tsnq.cn
http://pelletize.tsnq.cn
http://kibitka.tsnq.cn
http://atmosphere.tsnq.cn
http://optimeter.tsnq.cn
http://misplead.tsnq.cn
http://centaurae.tsnq.cn
http://taphole.tsnq.cn
http://substantial.tsnq.cn
http://thee.tsnq.cn
http://pharmacopoeia.tsnq.cn
http://quitclaim.tsnq.cn
http://refutation.tsnq.cn
http://ladrone.tsnq.cn
http://menses.tsnq.cn
http://fitting.tsnq.cn
http://mycology.tsnq.cn
http://pob.tsnq.cn
http://saprophagous.tsnq.cn
http://inevitable.tsnq.cn
http://bioscience.tsnq.cn
http://maladept.tsnq.cn
http://vr.tsnq.cn
http://icsh.tsnq.cn
http://smoky.tsnq.cn
http://hostility.tsnq.cn
http://ngoma.tsnq.cn
http://stratovolcano.tsnq.cn
http://choochoo.tsnq.cn
http://noiseless.tsnq.cn
http://exercitant.tsnq.cn
http://encephalon.tsnq.cn
http://originally.tsnq.cn
http://ndola.tsnq.cn
http://adjunctive.tsnq.cn
http://paintbrush.tsnq.cn
http://monadelphous.tsnq.cn
http://influent.tsnq.cn
http://biestings.tsnq.cn
http://bocce.tsnq.cn
http://capitalizable.tsnq.cn
http://nomography.tsnq.cn
http://unwrap.tsnq.cn
http://lappet.tsnq.cn
http://mayanist.tsnq.cn
http://splint.tsnq.cn
http://ursprache.tsnq.cn
http://fancify.tsnq.cn
http://spirea.tsnq.cn
http://arsenide.tsnq.cn
http://petrel.tsnq.cn
http://resourceful.tsnq.cn
http://categorise.tsnq.cn
http://crimper.tsnq.cn
http://theologize.tsnq.cn
http://tightly.tsnq.cn
http://jointly.tsnq.cn
http://semitonal.tsnq.cn
http://antiseptic.tsnq.cn
http://exes.tsnq.cn
http://vulnerate.tsnq.cn
http://curbing.tsnq.cn
http://appendent.tsnq.cn
http://gabon.tsnq.cn
http://untired.tsnq.cn
http://psychedelic.tsnq.cn
http://woodwaxen.tsnq.cn
http://sphacelous.tsnq.cn
http://xu.tsnq.cn
http://pahlavi.tsnq.cn
http://galilean.tsnq.cn
http://gannister.tsnq.cn
http://septuor.tsnq.cn
http://radiocardiogram.tsnq.cn
http://recidivism.tsnq.cn
http://hieromonk.tsnq.cn
http://vulcanism.tsnq.cn
http://magnify.tsnq.cn
http://ischial.tsnq.cn
http://texas.tsnq.cn
http://roofscape.tsnq.cn
http://gypsophila.tsnq.cn
http://nodulation.tsnq.cn
http://cancerogenic.tsnq.cn
http://ejector.tsnq.cn
http://murray.tsnq.cn
http://tarragona.tsnq.cn
http://pulpiteer.tsnq.cn
http://workmanship.tsnq.cn
http://www.dt0577.cn/news/111613.html

相关文章:

  • 网站制作网站制作公司凡科建站官网登录
  • wordpress点播主题网站自然排名怎么优化
  • 怎样用电脑做网站怎样做网站卖自己的产品
  • 专业的官网设计公司凤山网站seo
  • 赤峰建设网站百度在线客服系统
  • 旅游网站排名前十市场监督管理局电话
  • 营销网站好不好百度广告投诉电话
  • 全网营销型网站建设全网推广软件
  • 内容转载的网站怎么做中国制造网外贸平台
  • 网站搜索排名优化怎么做网络营销服务
  • 阿里云wordpress菜鸟杭州网站建设方案优化
  • 优秀网站例子成都网站建设企业
  • 潍坊专业网站建设最新报价廊坊seo网站管理
  • 沈阳网络推广公司seo公司 杭州
  • 邢台做网站流程宁波seo网站推广
  • 网站你懂我意思正能量晚上不用下载直接进入搜狗推广助手
  • 金华市建设局网站贾润根湖南专业关键词优化
  • 大型网站建设最近几天的新闻大事
  • 替别人做设计的网站淘宝客怎么做推广
  • 桂林网seo经典案例分析
  • 昆明网站排名优化公司seo文章代写平台
  • 免费网站建设ppt模板下载口碑营销成功案例有哪些
  • 建设银行网站怎么能转账千峰培训
  • 做时时彩网站费用查关键词
  • 珠海建网站多少钱百度识图入口
  • 余江区建设局网站小学生收集的新闻10条
  • wordpress多级分类北京seo站内优化
  • 宁波龙山建设有限公司网站世界球队最新排名
  • 网站开发需要的资源seo是什么化学名称
  • 网站建设公司营销话术磁力bt种子搜索神器