2013-03-13 23 views
6

Tôi đang cố gắng sử dụng SDK Android của Android trong ứng dụng Android Maven của tôi. Đối với điều này tôi đã sử dụng một repo maven tùy chỉnh (https://github.com/avianey/facebook-api-android-maven). Tôi nhận thấy gói hỗ trợ Android đã lỗi thời, và tạo repo github của riêng tôi (nó chính xác là cùng một dự án, ngoại trừ pom). Điều này làm việc trong một thời gian. Tuy nhiên, khi các thành viên trong nhóm của tôi muốn nhập khẩu phụ thuộc maven, nó đã ném một số ngoại lệ.Nhập apklib từ github với Maven

Error when importing module '~apklib-com.github.bertdecock_facebook-android-ahoy-api_3.0.0': Cannot find file C:\Users\Bert\.m2\repository\com\github\bertdecock\facebook-android-ahoy-api\3.0.0\facebook-android-ahoy-api-3.0.0.apklib 
17:19:50 Error when importing module '~apklib-com.github.bertdecock_facebook-android-ahoy-api_3.0.0': Cannot find file C:\Users\Bert\.m2\repository\com\github\bertdecock\facebook-android-ahoy-api\3.0.0\facebook-android-ahoy-api-3.0.0.apklib 
17:19:50 Error when importing module '~apklib-com.github.bertdecock_facebook-android-ahoy-api_3.0.0': Cannot find src directory in C:/Users/Bert/Development/IntelliJ Projects/SDProject/AndroidApp/gen-external-apklibs/com.github.bertdecock_facebook-android-ahoy-api_3.0.0 

Tôi đã xóa apklib khỏi kho lưu trữ cục bộ của mình và nhận thấy nó sẽ không nhập nữa. Tôi không biết tại sao nó lại làm việc lần đầu tiên.

Đây là những gì tôi được sử dụng trong pom của tôi để nhập khẩu các dự án ban đầu:

<repositories> 
    ... 
    <repository> 
    <id>The mavenized Facebook Android API</id> 
    <url>http://avianey.github.com/facebook-api-android-maven/</url> 
    </repository> 
</repositories> 

... 

<dependencies> 
    ... 
    <dependency> 
    <groupId>com.github.avianey</groupId> 
    <artifactId>facebook-android-api</artifactId> 
    <version>3.0.0</version> 
    <type>apklib</type> 
    </dependency> 
</dependencies> 

Và đây là cách tôi nhập khẩu dự án của riêng tùy chỉnh (https://github.com/bertdecock/facebook-android-ahoy-api):

<repository> 
    <id>The mavenized Facebook Android API</id> 
    <url>https://github.com/bertdecock/facebook-android-ahoy-api/</url> 
</repository> 

<dependency> 
    <groupId>com.github.bertdecock</groupId> 
    <artifactId>facebook-android-ahoy-api</artifactId> 
    <version>3.0.0</version> 
    <type>apklib</type> 
</dependency> 

Khi tôi khôi phục lại apklib cũ trong kho lưu trữ cục bộ của tôi, nó hoạt động tốt. Xóa nó và nó ngừng hoạt động.

Tuy nhiên, khi tôi cố gắng cập nhật phụ thuộc của tôi, maven không tìm thấy dự án facebook pom và đặt nó trong kho lưu trữ cục bộ của tôi.

Bất kỳ đề xuất nào về lý do tại sao điều này xảy ra (và cách khắc phục) sẽ được đánh giá cao!

Trả lời

0

Thử xóa tất cả _maven.repositories tệp khỏi kho lưu trữ maven cục bộ của bạn. Họ giữ thông tin về nguồn gốc của các đồ tạo tác.

Maven cố gắng cập nhật bình của bạn từ vị trí cũ (như được lưu trong _maven.repositories) và không thành công. Giả định ở đây là aftifact tương tự trên một kho lưu trữ từ xa khác nhau có thể khác nhau.

Để xóa tất cả _maven.repositories bạn có thể sử dụng lệnh này:

find ~/.m2/ -name _maven.repositories | xargs rm 
Các vấn đề liên quan