我怎样才能在 groovy 中找出神器的位置
How can I find out the place of an artifact in groovy
我声明了以下 groovy 依赖项:
@GrabResolver(name='mymirror', root='http://myartifactory/public/')
@Grab(group='groupid', module='artifactid', version='1.2.3')
println //What should I write here to see: c:\Users....m2....artifactid.jar
如何在 groovy 中获取下载的已解析工件的位置?
默认情况下,Grape 将 jar 缓存存储在 ~/.groovy/grapes
上。所以,我认为你可以这样做:
@GrabResolver(name='mymirror', root='http://myartifactory/public/')
@Grab(group='groupid', module='artifactid', version='1.2.3')
String grapeCacheDir = "${System.getProperty('user.home')}/.groovy/grapes"
String group = 'groupid'
String module = 'artifactid'
String version = '1.2.3'
File myJar = new File("$grapeCacheDir/$group/$module/jars/${module}-${version}.jar")
println myJar.path
这不是一个完美的解决方案,但我想不出任何其他选择。
@Grab(group='net.sourceforge.plantuml', module='plantuml', version='8049')
import groovy.grape.Grape
def grape = Grape.getInstance()
def r = grape.listDependencies(this.getClass().getClassLoader())
println r
println grape.resolve(r[0])
打印
[[group:net.sourceforge.plantuml, module:plantuml, version:8049]]
[file:/C:/Users/dm/.groovy/grapes/net.sourceforge.plantuml/plantuml/jars/plantuml-8049.jar]
我声明了以下 groovy 依赖项:
@GrabResolver(name='mymirror', root='http://myartifactory/public/')
@Grab(group='groupid', module='artifactid', version='1.2.3')
println //What should I write here to see: c:\Users....m2....artifactid.jar
如何在 groovy 中获取下载的已解析工件的位置?
默认情况下,Grape 将 jar 缓存存储在 ~/.groovy/grapes
上。所以,我认为你可以这样做:
@GrabResolver(name='mymirror', root='http://myartifactory/public/')
@Grab(group='groupid', module='artifactid', version='1.2.3')
String grapeCacheDir = "${System.getProperty('user.home')}/.groovy/grapes"
String group = 'groupid'
String module = 'artifactid'
String version = '1.2.3'
File myJar = new File("$grapeCacheDir/$group/$module/jars/${module}-${version}.jar")
println myJar.path
这不是一个完美的解决方案,但我想不出任何其他选择。
@Grab(group='net.sourceforge.plantuml', module='plantuml', version='8049')
import groovy.grape.Grape
def grape = Grape.getInstance()
def r = grape.listDependencies(this.getClass().getClassLoader())
println r
println grape.resolve(r[0])
打印
[[group:net.sourceforge.plantuml, module:plantuml, version:8049]]
[file:/C:/Users/dm/.groovy/grapes/net.sourceforge.plantuml/plantuml/jars/plantuml-8049.jar]