1
我已經寫了一個Maven插件的一部分,但它不能再作爲插件運行。它可以訪問SCM或任何pom.xml,只是一個工件庫和一些Maven座標。它意味着採用Maven座標並打印出它們的依賴關係(對它們進行一些報告)。要做到這一點就需要編程訪問(例如):如何以編程方式爲Maven創建Plexus容器?
- MavenProjectBuilder
- DependencyGraphBuilder
平常的東西,你會注入魔力,但它不是一個魔力而無法運行(因爲我沒有一個pom.xml)。
我的代碼並沒有幫助我,例如AbstractMojoTestCase需要一個pom.xml,這是我沒有的。
我想一些代碼,如..
DefaultPlexusContainer container = new DefaultPlexusContainer();
Context context = container.getContext();
context.put("plexus", new DefaultPlexusContainer());
container.initialize();
container.start();
MavenProjectBuilder mavenProjectBuilder = (MavenProjectBuilder) container.lookup(MavenProjectBuilder.ROLE);
DependencyGraphBuilder dependencyGraphBuilder = (DependencyGraphBuilder) container.lookup(DependencyGraphBuilder.class.getName());
MavenProject project = mavenProjectBuilder.buildFromRepository(artifact, remoteArtifactRepositories, localRepository);
// do stuff with dependencies
但還有一些人失蹤。幫幫我!
這聽起來像你需要像Maven的調用,插件來創建可用於集成測試一個真正的行家環境? – khmarbaise 2013-02-08 11:40:30