Intellij 14没有在Classpath中添加pom依赖项

时间:2015-03-19 10:46:25

标签: maven intellij-idea classpath maven-dependency-plugin

我正在使用Intellij 14.0.3。我已经导入了一些Maven模块,这些模块在pom.xml文件中声明了依赖项。

在IDE中,当我打开一个从该依赖项导入对象的类时,导入显示为"出错"比如在这个类中对该对象的任何引用。当我单击错误并输入alt + Enter时,Intellij要求我将Maven中的依赖项添加到Classpath中。

示例:

在我的pom中我有:

    <dependency>
        <groupId>joda-time</groupId>
        <artifactId>joda-time</artifactId>
        <version>${joda.version}</version>
    </dependency>

在我的班级中,我有以下错误导入:

import org.joda.time.DateTime;

当我点击alt +输入intellij时问我:

Add library Maven: 'joda-time:joda-time:2.1' to classpath

为什么Intellij不直接在类路径中导入Maven依赖项? 在设置 - &gt; Maven - &gt;导入,我已经检查过&#34;自动导入Maven项目&#39;但它仍然没有导入依赖关系。尝试&#34;制作&#34;该项目没有成功。

感谢您的帮助。

2 个答案:

答案 0 :(得分:4)

我终于找到了解决方案。

当项目最初导入时,我的maven settings.XML不是好的。我已经改变了工作区被导入的maven设置的路径,似乎它不能很好地工作。也许是一个错误? (intellij 14.0.3)。

我删除了m&#39工作空间,一旦获得收益就从git克隆它,并作为Maven项目导入,注意以前设置的Maven设置。

答案 1 :(得分:1)

您必须删除.m2文件夹中的所有文件。然后像这样为maven设置setting.xml文件。

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                      http://maven.apache.org/xsd/settings-1.0.0.xsd">
  ...
  <proxies>
    <proxy>
      <id>myproxy</id>
      <active>true</active>
      <protocol>http</protocol>
      <host>proxy.somewhere.com</host>
      <port>8080</port>
      <username>proxyuser</username>
      <password>somepassword</password>
      <nonProxyHosts>*.google.com|ibiblio.org</nonProxyHosts>
    </proxy>
  </proxies>
  ...
</settings>
  • id:此代理的唯一标识符。这用于区分代理元素。
  • 有效:如果此代理处于活动状态,则为true。这对于声明一组代理很有用,但一次只能有一个代理。
  • 协议,主机,端口:协议:// host:代理端口,分隔为离散元素。
  • 用户名,密码:这些元素显示为一对,表示对此代理服务器进行身份验证所需的登录名和密码。
  • nonProxyHosts :这是不应代理的主机列表。列表的分隔符是代理服务器的预期类型;上面的例子是管道分隔的 - 逗号分隔也很常见

然后导入你的maven项目,ide会自动下载alldependencies