在普通Web应用程序中实现Maven存储库功能

时间:2014-01-14 14:09:45

标签: java maven web-applications

我对Maven存储库和普通网络应用程序有一些疑问。

  1. 是否可以创建一个普通的Web应用程序,其功能类似于Maven Web应用程序,我可以在其中创建类似pom.xml / settings.xml的文件(如在Maven中)并包含用于获取jar文件的标记从服务器下载

  2. 如果可能,那么如何在普通的Java Web应用程序中实现它。如果没有,则以任何类似的方式表达同样的内容。

  3. 参考链接对我也有帮助 在此先感谢:)

1 个答案:

答案 0 :(得分:1)

eclipse aether项目提供了一个库,用于处理来自存储库的工件。

看看this sample code

public static void main( String[] args ) throws Exception {
    RepositorySystem repoSystem = newRepositorySystem();
    RepositorySystemSession session = newSession( repoSystem );

    DefaultArtifact artifact = new DefaultArtifact( "org.apache.maven:maven-profile:2.2.1" );
    Dependency dependency = new Dependency( artifact , "compile");

    RemoteRepository central = new RemoteRepository.Builder( "central", "default", "http://repo1.maven.org/maven2/" ).build();

    CollectRequest collectRequest = new CollectRequest();
    collectRequest.setRoot( dependency );
    collectRequest.addRepository( central );
    DependencyNode node = repoSystem.collectDependencies( session, collectRequest ).getRoot();

    DependencyRequest dependencyRequest = new DependencyRequest();
    dependencyRequest.setRoot( node );

    repoSystem.resolveDependencies( session, dependencyRequest  );

    PreorderNodeListGenerator nlg = new PreorderNodeListGenerator();
    node.accept( nlg );
    System.out.println( nlg.getClassPath() );
}