2011-03-14 89 views
0

我已經在Maven User List問過了,讓我在這裏複製。我可以在Maven之外使用Maven倉庫管理器嗎?

我正在嘗試創建一個應用程序,它將下載並使用Maven以外的Maven 工件。我認爲在這種情況下,最明智的方式是使用Maven現有的類。任何人都可以幫我提示 在哪裏尋找?

將是很好,使它以這種方式工作:

Repository rep = new Repository("~/.m2"); 
Artifact artifact = new Artifact("com.example", "foo", "1.0"); 
String path = rep.resolve(artifact); 
assert path.equals("~/.m2/repository/com/example/foo/1.0/foo.jar"); 

我使用Maven 3

回答

2

Aether正是我所需要的。

編輯:幾周前我創建了一個開源工具,它簡化了與Aether的交互:jcabi-aether。現在它就像(在maven插件中)一樣簡單:

File repo = this.session.getLocalRepository().getBasedir(); 
Collection<Artifact> deps = new Aether(this.getProject(), repo).resolve(
    new DefaultArtifact("junit", "junit-dep", "", "jar", "4.10"), 
    JavaScopes.RUNTIME 
); 
0

你已經採取了看看ivy,看它是否符合您的需求?