Maven 2 maven,通过命令行客户端浏览中央存储库

Maven 2 maven,通过命令行客户端浏览中央存储库,maven-2,Maven 2,是否可以通过常规mvn命令行客户端浏览中央存储库,并可能执行特定的搜索 e、 g:我想获得所有工件ID中包含“log4j”的工件的列表。我编写了一个小Groovy脚本,它可以实现以下功能: import groovyx.net.http.URIBuilder import groovy.json.JsonSlurper class Fun { public static void main(String[] args) { def uri = new URIBuilde

是否可以通过常规mvn命令行客户端浏览中央存储库,并可能执行特定的搜索


e、 g:我想获得所有工件ID中包含“log4j”的工件的列表。

我编写了一个小Groovy脚本,它可以实现以下功能:

import groovyx.net.http.URIBuilder
import groovy.json.JsonSlurper

class Fun {
    public static void main(String[] args) {
        def uri = new URIBuilder("http://search.maven.org/solrsearch/select")
        uri.addQueryParam 'rows', 20
        uri.addQueryParam 'wt', 'json'
        uri.addQueryParam 'q', args[0]

        def text = uri.toURL().getText()

        def json = new JsonSlurper()

        def result = json.parseText( text )

        result.response.docs.each { doc ->
            println "$doc.id:$doc.latestVersion"
        }
    }
}
下面是一个Ruby脚本,它可以做同样的事情(使用
httparty
gem):


有一个SBT插件用于此:


我不知道。使用浏览器有什么问题吗?我想剪切一个可用log4j工件的列表,以便记录今天在线的工件。此外,这种方法允许一个统一的ineterface查询许多不同的存储库,也可能允许一种执行单个查询并从所有配置的存储库获取结果的方法访问并以这种方式获取列表。我还怀念在php世界中用于编写器搜索的本机功能…@KoRoN Yes!这可能是新的“你好世界”。
require 'httparty'

query = ARGV[0]

class MavenCentral
    include HTTParty
    base_uri 'search.maven.org'

    def initialize(query, rows=20)
        @options = { query: {rows: rows, wt: 'json', q: query} }
    end 

    def artifacts
       self.class.get('/solrsearch/select', @options)
    end 
end

maven_central = MavenCentral.new(query)
maven_central.artifacts['response']['docs'].each do |doc|
    puts "#{doc['id']}:#{doc['latestVersion']}"
end
$ sbt "searchMaven log4j"
[info] Loading global plugins from ~/.sbt/0.13/plugins
[info] Set current project to foo (in build file:~/projects/)
[info] Results for log4j:
[info] "com.jkoolcloud.tnt4j.logger"      % "log4j"                % "0.1"
[info] "org.apache.logging.log4j"         % "log4j"                % "2.6.1"
[info] "org.darkphoenixs"                 % "log4j"                % "1.2.17"
[info] "log4j"                            % "log4j"                % "1.2.17"
[info] "de.huxhorn.lilith"                % "log4j"                % "0.9.41"
[info] "org.mod4j.org.eclipse.xtext"      % "log4j"                % "1.2.15"
[info] "org.apache.logging.log4j"         % "log4j-bom"            % "2.6.1"
[info] "org.apache.logging.log4j.samples" % "log4j-samples"        % "2.0.1"
[info] "org.apache.logging.log4j.osgi"    % "log4j-osgi"           % "2.0-rc1"
[info] "ro.fortsoft.log2j"                % "log2j-parent"         % "0.4"
[info] "ant"                              % "ant-apache-log4j"     % "1.6.5"
[info] "ant"                              % "ant-jakarta-log4j"    % "1.6.1"
[info] "plexus"                           % "plexus-log4j-logging" % "1.0"
[info] "org.apache.logging.log4j"         % "log4j-liquibase"      % "2.6.1"
[info] "org.apache.logging.log4j"         % "log4j-jul"            % "2.6.1"
[info] "org.apache.logging.log4j"         % "log4j-iostreams"      % "2.6.1"
[info] "org.apache.logging.log4j"         % "log4j-nosql"          % "2.6.1"
[info] "org.apache.logging.log4j"         % "log4j-jmx-gui"        % "2.6.1"
[info] "org.apache.logging.log4j"         % "log4j-taglib"         % "2.6.1"
[info] "org.apache.logging.log4j"         % "log4j-web"            % "2.6.1"
[success] Total time: 1 s, completed 24/06/2016 2:47:24 PM
mvn -q com.jarcasting:search-maven-plugin:search -Dq="com google guava"