Java Maven CLI-同步项目依赖项
我有一个maven项目。我想同步/下载所有依赖项,以便从这个意义上解决我的项目。我想从java开始,使用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 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>