环境:公司的 maven 私服
项目中引入了 rocketmq-client 3.2.6 依赖,
在 http://search.maven.org/ 中查找此 jar 的 pom 文件为:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>com.alibaba.rocketmq</groupId>
<artifactId>rocketmq-all</artifactId>
<version>3.2.6</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<packaging>jar</packaging>
<artifactId>rocketmq-client</artifactId>
<name>rocketmq-client ${project.version}</name>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>rocketmq-common</artifactId>
</dependency>
</dependencies>
</project>
但是公司私服中此 jar 的 pom 文件为
图好像挂了,直接发代码吧
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>com.alibaba.rocketmq</groupId>
<artifactId>rocketmq-client</artifactId>
<version>3.2.6</version>
<description>POM was created by Sonatype Nexus</description>
</project>
上段代码显示没有任何依赖项,所以 maven 没有去下载 rocketmq-client 依赖的 rocketmq-common ... ,进而导致项目报错。
maven 私服同步的时候回导致同步失败吗 ? 会什么会出现同步后的 pom 不同的情况?
既然按照私服中的 pom 依赖为准, 那为什么我手动在本地仓库中加了相关 jar 后,使用 jetty 插件 run 时却能正常启动 ?
这个jar应该没有和远程仓库正常同步,可以手动添加一下。
你手动添加jar的话,一般jar里面会包含有pom.xml文件,仓库会自动导入,所以你再run的时候没有问题。
可以手动加,今天我还在手动加包,公司网络不行。。fk..
mvn install:install-file -Dfile=jasperreports-customvisualization-6.2.1.jar -DgroupId=com.jaspersoft.jasperreports -DartifactId=jasperreports-customvisualization -Dversion=6.2.1 -Dpackaging=jar