Скопируйте maven-зависимости в Java-код - PullRequest
3 голосов
/ 20 ноября 2011

Документов и примеров по этому вопросу очень мало (они бесполезны).

Я хотел бы скопировать все зависимости данного файла pom.xml. Обычно я могу использовать mvn dependency:copy-dependencies в командной строке или использовать maven-dependecy-plugin конфигурацию в файле pom.

Однако я хотел бы сделать это программно для данного файла pom.xml. Пока что я решил, что мне нужно будет использовать MavenCli

MavenCli cli = new MavenCli();
cli.doMain(new String[]{"clean", "dependency:copy-dependencies", "-DincludeScope=runtime"}, "C:\\workspace\\gui", null, null);

, где "C:\\workspace\\gui" - каталог, содержащий pom.xml

но приведенный выше код выдает мне следующую ошибку:

 [ERROR] Failed to execute goal on project test-pom: Could not resolve dependencies for project gigadot:test-pom:jar:0.5-SNAPSHOT: Failed to collect dependencies for [commons-lang:commons-lang:jar:2.6 (compile), commons-io:commons-io:jar:2.0.1 (compile), org.apache.commons:commons-exec:jar:1.1 (compile), org.apache.commons:commons-math:jar:2.2 (compile), xom:xom:jar:1.2.5 (compile), log4j:log4j:jar:1.2.16 (provided)]: Failed to read artifact descriptor for org.apache.commons:commons-math:jar:2.2: Could not transfer artifact org.apache.commons:commons-math:pom:2.2 from/to central (http://repo1.maven.org/maven2): No connector available to access repository central (http://repo1.maven.org/maven2) of type default using the available factories -> [Help 1]

Кто-нибудь знает, как решить эту проблему?

1 Ответ

0 голосов
/ 20 ноября 2013

Добавить эту зависимость в проект MavenCLI

<dependencies>
    <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-embedder</artifactId>
        <version>3.1.1</version>
    </dependency>
    <dependency>
        <groupId>org.eclipse.aether</groupId>
        <artifactId>aether-connector-wagon</artifactId>
        <version>0.9.0.M2</version>
    </dependency>
    <dependency>
        <groupId>org.apache.maven.wagon</groupId>
        <artifactId>wagon-http-lightweight</artifactId>
        <version>2.5</version>
    </dependency>
</dependencies>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...