Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Maven CLI-同步项目依赖项_Java_Maven_Command Line Interface - Fatal编程技术网

Java Maven CLI-同步项目依赖项

Java Maven CLI-同步项目依赖项,java,maven,command-line-interface,Java,Maven,Command Line Interface,我有一个maven项目。我想同步/下载所有依赖项,以便从这个意义上解决我的项目。我想从java开始,使用Maven CLI API 有一种方法应该与“mvn clean validate”相同: 但它失败,出现以下异常(没有可用于访问存储库中心的连接器): 它似乎没有使用我在项目的pom.xml中已有的 如何使它工作?好的。看来我找到了答案 答案如下: 在这里: 基本上,您应该最终得到这个pom.xml(所有关于依赖关系的内容!): 然后确保为父项目使用正确的版本。父级应具有与实际本地根p

我有一个maven项目。我想同步/下载所有依赖项,以便从这个意义上解决我的项目。我想从java开始,使用
Maven CLI API

有一种方法应该与“mvn clean validate”相同:

但它失败,出现以下异常(没有可用于访问存储库中心的连接器):

它似乎没有使用我在项目的
pom.xml
中已有的


如何使它工作?

好的。看来我找到了答案

答案如下:

在这里:

基本上,您应该最终得到这个pom.xml(所有关于依赖关系的内容!):

然后确保为父项目使用正确的版本。父级应具有与实际本地根pom.xml相同的版本

如果仍然存在该错误,则指向家长的路径如下:

 <relativePath>../pom.xml</relativePath>
<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>

它创建:
c:/.m2/存储库
文件夹。但它现在是空的。

远程http存储库的连接器已命名,请按如下方式配置您的项目:

 <relativePath>../pom.xml</relativePath>
<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>

org.apache.maven
马文埋置器
3.1.1
org.eclipse.ether
乙醚连接车
0.9.0.2平方米
org.apache.maven.wagen
轻量级
2.5

尝试在settings.xml中设置它怎么样。如果显示有效的pom,您会看到这些存储库吗?
 <relativePath>../pom.xml</relativePath>
 <relativePath>../../pom.xml</relativePath>
    System.setProperty("user.home", "C:\\my"); // ~/.m2/repository lives here    
    MavenCli cli = new MavenCli();

   // THIS IS IMPORTANT AS WELL  !!!
   int result = cli.doMain(
                new String[]{"-DincludeScope=runtime", "dependency:copy-dependencies", "clean", "validate"},
                projectPath,
                System.out,
                System.out);
<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>