maven build error:包org.apache.http不存在

And*_*rew 2 java compiler-errors httpclient maven

我试图从java程序发送一个简单的HTTP帖子(用于在Heroku上部署).我从这里开始了演示项目.使用mvn package成功构建项目.

然后我添加了我自己的附加文件TestPost.java,其中包含几行代码,将其添加到了pom.xml,并且仍然构建良好.

然后我尝试添加此示例中的HTTP代码(减去package行),该代码使用Apache HttpClient库.

使用mvn package以下错误中的结果:

package org.apache.http does not exist 
Run Code Online (Sandbox Code Playgroud)

在搜索解决方案后,我尝试在以下内容中包含依赖项pom.xml:

<dependencies>
    <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>4.5.2</version>
        <scope>compile</scope>
    </dependency>
</dependencies>
Run Code Online (Sandbox Code Playgroud)

我的理解是,这应该强制下载必要的包但在下一次编译时没有显示下载(只是相同的错误),并且该包在我的用户.m2\repository \文件夹中不可见.

我尝试在我的不同点插入这种依赖,pom.xml但没有成功.

为什么没有下载apache库?请注意,我是maven的新手.

Art*_*eda 7

如果你确实需要依赖httpclient,那么你应该拥有pom.xml.

<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">
    <modelVersion>4.0.0</modelVersion>

    <groupId>demo</groupId>
    <artifactId>httpclient-demo</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>httpclient-demo</name>
    <url>http://maven.apache.org</url>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
            <version>4.5.2</version>
        </dependency>
    </dependencies>
</project>
Run Code Online (Sandbox Code Playgroud)

现在,如果将Java源代码放在src/main/java中,其中src和pom.xml位于同一目录中,Maven应该从本地存储库中解析依赖关系,并下载它,如果它不存在的话.您的本地存储库在Maven安装目录的conf/settings.xml中定义.