2016-07-04 10 views
1

Javaプログラム(Herokuにデプロイするための)から簡単なHTTPポストを送信しようとしています。 デモプロジェクトhereから始めました。 mvn packageを使用すると、プロジェクトが正常に構築されます。mavenビルドエラー:org.apache.httpパッケージが存在しません

私は自分の追加ファイルTestPost.javaを数行のコードで追加し、それをpom.xmlに追加しました。

次に、Apache HttpClientライブラリを使用するthis example(マイナスpackage行)のHTTPコードを追加しようとしました。

<dependencies> 
    <dependency> 
     <groupId>org.apache.httpcomponents</groupId> 
     <artifactId>httpclient</artifactId> 
     <version>4.5.2</version> 
     <scope>compile</scope> 
    </dependency> 
</dependencies> 

私の理解では、これはのダウンロードを強制すべきであるということでした。私はpom.xmlで依存関係を含めてみましたが解決策を検索した後

package org.apache.http does not exist 

:次のエラーでmvn package結果を使用して

必要なパッケージがダウンロードされましたが、次のコンパイル時に表示されました(同じエラーのみ)。ユーザー.m2 \ repository \フォルダにパッケージが表示されません。

pom.xmlの別のポイントでこの依存関係を挿入しようとしましたが、成功しませんでした。

なぜapacheライブラリがダウンロードされていないのですか?私はmavenを初めて使っていることに注意してください。

+2

'org.http.apache.http'は正しいパッケージ名ではありません。これは 'org.apache.http'です。 – Tunaki

答えて

0

実際にhttpclientに依存する必要がある場合は、次のpom.xmlが必要です。今、あなたは、SRCでsrcとのpom.xmlが同じディレクトリにある/メイン/ javaのを、あなたのJavaソースを置けば

<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> 

、Mavenはそれは、ないはずローカルリポジトリから依存関係を解決し、それをダウンロードしてくださいすでにそこにいる。ローカルリポジトリは、Mavenインストールディレクトリのconf/settings.xmlに定義されています。

+0

これは、ありがとう!私はpom.xml内のその位置にある依存関係を試してみたが、明らかにそうではないと思った。 – Andrew

1

AFAIK、org.http.apache.httpというパッケージはありません。ただし、org.apache.httpと呼ばれています。

要するに、コードに入力ミスがあり、それがコンパイルの原因です...依存関係を指定する(Maven)に問題はありません。

+0

申し訳ありませんが、私の側にコピー貼り付けエラー、コードは正しかったが、ここに掲示された質問は - 修正されました – Andrew

関連する問題