※当サイトの記事には、広告・プロモーションが含まれます。

Mavenの依存関係をMaven Central SearchのREST APIで検索してはみたものの

www.itmedia.co.jp

www.itmedia.co.jp

 ⇧ 猫も杓子もAIですかね...

Mavenの依存関係をMaven Central SearchのREST APIで検索してはみたものの

表題の件ですが、例の如く、Spring Frameworkの必要な依存関係が分かり辛くて、まずは、Spring Frameworkの依存関係の全量を一覧のリストで確認したいなと思いまして。

どうやら、

central.sonatype.org

REST APIが用意されておりました。

試してみました。

curl -s 'https://search.maven.org/solrsearch/select?q=g:org.springframework'    

結果を少し整形。

{"responseHeader"
:{"status":0,"QTime":1,"params"
:{"q":"g:org.springframework","core":"","indent":"off","spellcheck":"true","fl":"id,g,a,latestVersion,p,ec,repositoryId,text,timestamp,versionCount","start":"","spellcheck.count":"5","sort":"score desc,timestamp desc,g asc,a asc","rows":"20","wt":"json","version":"2.2"}},"response"
:{"numFound":58,"start":0,"docs":[{"id":"org.springframework:spring-instrument","g":"org.springframework","a":"spring-instrument","latestVersion":"6.0.6","repositoryId":"central","p":"jar","timestamp":1677782512000,"versionCount":191,
,"text":["org.springframework","spring-instrument",".module","-sources.jar",".pom","-javadoc.jar",".jar"],"ec":[".module","-sources.jar",".pom","-javadoc.jar",".jar"]},{"id":"org.springframework:spring-web","g":"org.springframework","a":"spring-web","latestVersion":"6.0.6","repositoryId":"central","p":"jar","timestamp":1677782512000,"versionCount":240,
,"text":["org.springframework","spring-web",".module","-sources.jar",".pom","-javadoc.jar",".jar"],"ec":[".module","-sources.jar",".pom","-javadoc.jar",".jar"]},{"id":"org.springframework:framework-docs","g":"org.springframework","a":"framework-docs","latestVersion":"6.0.6","repositoryId":"central","p":"pom","timestamp":1677782511000,"versionCount":7,
,"text":["org.springframework","framework-docs",".pom"],"ec":[".pom"]},{"id":"org.springframework:spring-context","g":"org.springframework","a":"spring-context","latestVersion":"6.0.6","repositoryId":"central","p":"jar","timestamp":1677782511000,"versionCount":241,
,"text":["org.springframework","spring-context","-sources.jar",".module",".pom","-javadoc.jar",".jar"],"ec":["-sources.jar",".module",".pom","-javadoc.jar",".jar"]},{"id":"org.springframework:spring-expression","g":"org.springframework","a":"spring-expression","latestVersion":"6.0.6","repositoryId":"central","p":"jar","timestamp":1677782511000,"versionCount":191,
,"text":["org.springframework","spring-expression","-sources.jar",".module",".pom","-javadoc.jar",".jar"],"ec":["-sources.jar",".module",".pom","-javadoc.jar",".jar"]},{"id":"org.springframework:spring-websocket","g":"org.springframework","a":"spring-websocket","latestVersion":"6.0.6","repositoryId":"central","p":"jar","timestamp":1677782511000,"versionCount":159,
,"text":["org.springframework","spring-websocket",".module","-sources.jar",".pom","-javadoc.jar",".jar"],"ec":[".module","-sources.jar",".pom","-javadoc.jar",".jar"]},{"id":"org.springframework:spring-aop","g":"org.springframework","a":"spring-aop","latestVersion":"6.0.6","repositoryId":"central","p":"jar","timestamp":1677782510000,"versionCount":240,
,"text":["org.springframework","spring-aop","-sources.jar",".module",".pom","-javadoc.jar",".jar"],"ec":["-sources.jar",".module",".pom","-javadoc.jar",".jar"]},{"id":"org.springframework:spring-core","g":"org.springframework","a":"spring-core","latestVersion":"6.0.6","repositoryId":"central","p":"jar","timestamp":1677782510000,"versionCount":240,
,"text":["org.springframework","spring-core",".module","-sources.jar",".pom","-javadoc.jar",".jar"],"ec":[".module","-sources.jar",".pom","-javadoc.jar",".jar"]},{"id":"org.springframework:spring-jdbc","g":"org.springframework","a":"spring-jdbc","latestVersion":"6.0.6","repositoryId":"central","p":"jar","timestamp":1677782510000,"versionCount":230,
,"text":["org.springframework","spring-jdbc","-sources.jar",".module",".pom","-javadoc.jar",".jar"],"ec":["-sources.jar",".module",".pom","-javadoc.jar",".jar"]},{"id":"org.springframework:spring-webmvc","g":"org.springframework","a":"spring-webmvc","latestVersion":"6.0.6","repositoryId":"central","p":"jar","timestamp":1677782510000,"versionCount":240,
,"text":["org.springframework","spring-webmvc","-sources.jar",".module",".pom","-javadoc.jar",".jar"],"ec":["-sources.jar",".module",".pom","-javadoc.jar",".jar"]},{"id":"org.springframework:spring-core-test","g":"org.springframework","a":"spring-core-test","latestVersion":"6.0.6","repositoryId":"central","p":"jar","timestamp":1677782509000,"versionCount":7,
,"text":["org.springframework","spring-core-test","-sources.jar",".module",".pom","-javadoc.jar",".jar"],"ec":["-sources.jar",".module",".pom","-javadoc.jar",".jar"]},{"id":"org.springframework:spring-orm","g":"org.springframework","a":"spring-orm","latestVersion":"6.0.6","repositoryId":"central","p":"jar","timestamp":1677782509000,"versionCount":224,
,"text":["org.springframework","spring-orm",".module","-sources.jar",".pom","-javadoc.jar",".jar"],"ec":[".module","-sources.jar",".pom","-javadoc.jar",".jar"]},{"id":"org.springframework:spring-r2dbc","g":"org.springframework","a":"spring-r2dbc","latestVersion":"6.0.6","repositoryId":"central","p":"jar","timestamp":1677782509000,"versionCount":33,
,"text":["org.springframework","spring-r2dbc",".module","-sources.jar",".pom","-javadoc.jar",".jar"],"ec":[".module","-sources.jar",".pom","-javadoc.jar",".jar"]},{"id":"org.springframework:spring-context-indexer","g":"org.springframework","a":"spring-context-indexer","latestVersion":"6.0.6","repositoryId":"central","p":"jar","timestamp":1677782508000,"versionCount":98,
,"text":["org.springframework","spring-context-indexer","-sources.jar",".module",".pom","-javadoc.jar",".jar"],"ec":["-sources.jar",".module",".pom","-javadoc.jar",".jar"]},{"id":"org.springframework:spring-framework-bom","g":"org.springframework","a":"spring-framework-bom","latestVersion":"6.0.6","repositoryId":"central","p":"pom","timestamp":1677782508000,"versionCount":172,
,"text":["org.springframework","spring-framework-bom",".module",".pom"],"ec":[".module",".pom"]},{"id":"org.springframework:spring-messaging","g":"org.springframework","a":"spring-messaging","latestVersion":"6.0.6","repositoryId":"central","p":"jar","timestamp":1677782508000,"versionCount":159,
,"text":["org.springframework","spring-messaging",".module","-sources.jar",".pom","-javadoc.jar",".jar"],"ec":[".module","-sources.jar",".pom","-javadoc.jar",".jar"]},{"id":"org.springframework:spring-oxm","g":"org.springframework","a":"spring-oxm","latestVersion":"6.0.6","repositoryId":"central","p":"jar","timestamp":1677782508000,"versionCount":191,
,"text":["org.springframework","spring-oxm","-sources.jar",".module",".pom","-javadoc.jar",".jar"],"ec":["-sources.jar",".module",".pom","-javadoc.jar",".jar"]},{"id":"org.springframework:spring-context-support","g":"org.springframework","a":"spring-context-support","latestVersion":"6.0.6","repositoryId":"central","p":"jar","timestamp":1677782507000,"versionCount":201,
,"text":["org.springframework","spring-context-support","-sources.jar",".module",".pom","-javadoc.jar",".jar"],"ec":["-sources.jar",".module",".pom","-javadoc.jar",".jar"]},{"id":"org.springframework:spring-test","g":"org.springframework","a":"spring-test","latestVersion":"6.0.6","repositoryId":"central","p":"jar","timestamp":1677782507000,"versionCount":201,
,"text":["org.springframework","spring-test","-sources.jar",".module",".pom","-javadoc.jar",".jar"],"ec":["-sources.jar",".module",".pom","-javadoc.jar",".jar"]},{"id":"org.springframework:spring-webflux","g":"org.springframework","a":"spring-webflux","latestVersion":"6.0.6","repositoryId":"central","p":"jar","timestamp":1677782507000,"versionCount":98,
,"text":["org.springframework","spring-webflux",".module","-sources.jar",".pom","-javadoc.jar",".jar"],"ec":[".module","-sources.jar",".pom","-javadoc.jar",".jar"]}]},"spellcheck"
:{"suggestions":[]}}

⇧ という感じで、groupIdがorg.springframeworkの依存関係については、

  1. spring-instrument
  2. spring-web
  3. framework-docs
  4. spring-context
  5. spring-expression
  6. spring-websocket
  7. spring-aop
  8. spring-core
  9. spring-jdbc
  10. spring-webmvc
  11. spring-core-test
  12. spring-orm
  13. spring-r2dbc
  14. spring-context-indexer
  15. spring-framework-bom
  16. spring-messaging
  17. spring-oxm
  18. spring-context-support
  19. spring-test
  20. spring-webflux

⇧ 全部で20個でした。

と思ったら、

stackoverflow.com

⇧ 一度のリクエストで20件の制限があるみたいなので、

curl -s 'https://search.maven.org/solrsearch/select?q=g:org.springframework&start=20'    
curl -s 'https://search.maven.org/solrsearch/select?q=g:org.springframework&start=40'    

で、

curl -s 'https://search.maven.org/solrsearch/select?q=g:org.springframework&start=60'    

実行したら、

{"responseHeader":{"status":0,"QTime":1,"params":{"q":"g:org.springframework","core":"","indent":"off","spellcheck":"true","fl":"id,g,a,latestVersion,p,ec,repositoryId,text,timestamp,versionCount","start":"60","spellcheck.count":"5","sort":"score desc,timestamp desc,g asc,a asc","rows":"20","wt":"json","version":"2.2"}},"response":{"numFound":58,"start":60,"docs":[]},"spellcheck":{"suggestions":[]}}
    

⇧ ってなったので、58件が全量らしい。

  1. spring-instrument
  2. spring-web
  3. framework-docs
  4. spring-context
  5. spring-expression
  6. spring-websocket
  7. spring-aop
  8. spring-core
  9. spring-jdbc
  10. spring-webmvc
  11. spring-core-test
  12. spring-orm
  13. spring-r2dbc
  14. spring-context-indexer
  15. spring-framework-bom
  16. spring-messaging
  17. spring-oxm
  18. spring-context-support
  19. spring-test
  20. spring-webflux
  21. spring-aspects
  22. spring-tx
  23. spring-beans
  24. spring-jcl
  25. spring-jms
  26. spring
  27. spring-webmvc-portlet
  28. spring-instrument-tomcat
  29. springloaded
  30. spring-struts
  31. spring-tuple
  32. spring-tuple-parent
  33. spring-asm
  34. spring-parent
  35. spring-agent
  36. spring-webmvc-struts
  37. spring-tomcat-weaver
  38. spring-binding
  39. spring-webflow
  40. spring-jdo
  41. spring-support
  42. spring-jpa
  43. spring-jmx
  44. spring-mock
  45. spring-hibernate3
  46. spring-hibernate2
  47. spring-toplink
  48. spring-dao
  49. spring-ibatis
  50. spring-jca
  51. spring-portlet
  52. spring-remoting
  53. spring-hibernate
  54. spring-beandoc
  55. spring-ldap
  56. spring-full
  57. spring-ojb
  58. beandoc

う~む、多いな...

そして、org.springframeworkの他にも、

  • org.springframework.boot
  • org.springframework.cloud
  • org.springframework.security
  • org.springframework.data
  • org.springframework.integration
  • org.springframework.webflow
  • org.springframework.roo
  • org.springframework.retry
  • org.springframework.osgi
  • org.springframework.kafka
  • org.springframework.shell
  • org.springframework.ldap
  • org.springframework.social
  • org.springframework.session
  • org.springframework.amqp
  • org.springframework.batch
  • org.springframework.ws
  • org.springframework.hateoas
  • org.springframework.plugin
  • org.springframework.restdocs
  • org.springframework.statemachine
  • org.springframework.extensions
  • org.springframework.xd
  • org.springframework.experimental
  • org.springframework.richclient
  • org.springframework.android
  • org.springframework.geode
  • org.springframework.build
  • org.springframework.mobile
  • org.springframework.vault
  • org.springframework.credhub
  • org.springframework.graphql
  • org.springframework.flex
  • org.springframework.analytics
  • org.springframework.scala
  • org.springframework.pulsar
  • org.springframework.uaa
  • org.springframework.metrics
  • org.springframework.javaconfig
  • org.springframework.commons
  • org.springframework.samples
  • org.springframework.beandoc
  • org.springframework.migrationanalyzer
  • org.springframework.spring-modules
  • org.springframework.guice
  • org.springframework.spring
  • org.springframework.aop
  • org.springframework.sync
  • org.springframework.beans
  • org.springframework.maven
  • org.springframework.test
  • org.springframework.kotlin
  • org.springframework.aws
  • org.springframework.expression
  • org.springframework.internal
  • org.springframework.spring-context
  • org.springframework.core
  • org.springframework.spinnaker
  • org.springframework.context

のようなgroupIdがあるそうな...

カオス...

もっと気軽に一覧を確認できるようにして欲しい...

毎度モヤモヤ感が半端ない...

今回はこのへんで。