Maven无法解决kafka依赖

时间:2019-03-26 15:08:49

标签: java maven apache-kafka

Intellij和Eclipse不能解析插件(maven-clean-pluginmaven-install-plugin,...)和Kafka(org.apache.kafka:kafka-clients)的依赖关系。

我尝试了很多解决方案:

  1. 尝试使用以下命令在本地安装它:

    mvn install:install-file -Dfile=D:\kafka_jar\kafka-clients.jar \
    -DgroupId=org.apache-kafka -DartifactId=kafka-clients -Dversion=2.1.1 -Dpackaging=jar
    

但是我看到了其他错误:

in this picture

  1. 因为我在一家公司工作,所以我不得不使用代理服务器来让Maven访问互联网。在Intellij中,我想我已经配置了代理,但是我不确定Maven是否正在使用它进行下载(但是市场正在运行,我可以下载插件)。还是您认为是阻止Maven的防火墙?

  2. 我多次修改了settings.xml,添加了代理设置,并且使用了maven Central,但我遇到了同样的问题,这是settings.xml

<?xml version="1.0" encoding="UTF-8"?>
    <settings>
     <activeProfiles>
        <!--make the profile active all the time -->
        <activeProfile>securecentral</activeProfile>
      </activeProfiles>
     <profiles>
        <profile>
          <id>securecentral</id>
          <!--Override the repository (and pluginRepository) "central" from the
             Maven Super POM -->
          <repositories>
            <repository>
              <id>central</id>
              <url>https://repo.maven.apache.org/maven2</url>
              <releases>
                <enabled>true</enabled>
              </releases>
            </repository>
          </repositories>
          <pluginRepositories>
            <pluginRepository>
              <id>central</id>
              <url>https://repo.maven.apache.org/maven2</url>
              <releases>
                <enabled>true</enabled>
              </releases>
            </pluginRepository>
          </pluginRepositories>
        </profile>
      </profiles>
     <proxies>
      <!-- Proxy for HTTP -->
      <proxy>
       <id>optional</id>
       <active>true</active>
       <protocol>http</protocol>
       <username>myUsername</username>
       <password>myPassword</password>
       <host>host</host>
       <port>80</port>
       <nonProxyHosts>nonProxyHosts</nonProxyHosts>
      </proxy>

      <!-- Proxy for HTTPS -->
      <proxy>
       <id>optional</id>
       <active>true</active>
       <protocol>https</protocol>
       <username>myUsername</username>
       <password>myPassword</password>
       <host>host</host>
       <port>80</port>
       <nonProxyHosts></nonProxyHosts>
      </proxy>
     </proxies>


    </settings>
  1. 我还尝试在Maven 2和Maven 3之间进行切换。当我使用Maven 2时,关于插件的依赖关系消失了,但Kafka却没有。

2 个答案:

答案 0 :(得分:0)

您很有可能遇到代理/防火墙问题。您可能在POM中错误地配置了代理,或者您的代理/防火墙可能阻止了您的请求。

如果代理允许此类请求,请与您的管理员(负责代理/防火墙的管理员)交谈,如果不允许,则如何解决这种情况。

答案 1 :(得分:0)

找到您的maven settings.xml文件-通常位于主目录的.m2文件夹下(Windows中为C:\ Users \ XYZ或Mac / Linux中为/ home / xyz)。

在下面添加条目

<proxies>
<!-- proxy
 | Specification for one proxy, to be used in connecting to the network.
 |
 -->
<proxy>
  <id>optional</id>
  <active>true</active>
  <protocol>http</protocol>
  <!-- <username>proxyuser</username>
  <password>proxypass</password> These may not be required -->
  <host>yourProxyHost</host>
  <port>yourProxyPort</port>
  <nonProxyHosts>*.company.com|127.0.0.1|localhost</nonProxyHosts>
</proxy>

确保mvn clean install在命令提示符下工作,然后检查您的IDE。