2013-07-04 38 views
5

Tôi đang gặp phải lỗi xây dựng với build.gradle sau đây.gradle - không thể tìm thấy phụ thuộc từ maven repo

apply plugin: 'java' 
apply plugin: 'idea' 

sourceCompatibility = 1.7 
version = '1.0' 

repositories { 
    mavenLocal() 
    mavenCentral() 
} 

dependencies { 
    compile 'org.foo.group:my-artifact:0.0.1-final' 
} 

nhóm, tạo tác và phiên bản là chính xác. Tôi đã thử nó với một dự án maven và xây dựng thành công, nhưng trong dự án gradle nó mang lại cho tôi lỗi sau:

:jar UP-TO-DATE 
:assemble UP-TO-DATE 
:compileTestJava UP-TO-DATE 
:processTestResources UP-TO-DATE 
:testClasses UP-TO-DATE 
:test 

FAILURE: Build failed with an exception. 

* What went wrong: 
Could not resolve all dependencies for configuration ':testRuntime'. 
> Could not find org.foo.group:my-artifact:0.0.1-final. 
    Required by: 
     :my-gradle-project:1.0 

* Try: 
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. 
tlin-deploy-tool 
BUILD FAILED 
+0

Điều này xảy ra nếu repo Maven cục bộ chứa POM của mô-đun, nhưng không chứa thành phần của nó. Đây có phải là trường hợp không? –

+0

@Peter: Không, đó không phải là vấn đề. ngay cả khi bạn loại bỏ các tạo tác từ repo địa phương, nó sẽ tăng cùng một lỗi. – mhshams

+1

Để tham khảo, nếu bạn đang đối mặt với tình huống được mô tả bởi cơ hội @PeterNiederwieser là bạn nhấn [Phụ thuộc vào Maven cục bộ với POM và không có kết quả tệp JAR nào trong việc giải quyết sự cố phụ thuộc] (https://issues.gradle.org/browse/ GRADLE-2709) – Alberto

Trả lời

8

Tôi không chắc chắn những gì đã xảy ra, nhưng cố gắng để kiểm tra xem maven và gradle là sử dụng cùng một đường dẫn kho lưu trữ .m2. Nó sẽ được hiển thị rõ ràng với các tùy chọn này:

  • mvn -X
  • gradle --debug

Đối gradle, thông điệp đặc biệt này sẽ được hiển thị khi một lọ không thể tìm thấy từ MavenLocal ; đường dẫn kho lưu trữ .m2 sẽ được hiển thị:

23:44:08.152 [DEBUG] [org.gradle.api.internal.artifacts.repositories.resolver.ExternalResourceResolver] Resource not reachable for org.foo.group#my-artifact;0.0.1-final: res=MissingResource: /home/wisent/.m2/repository/org/foo/group/my-artifact/0.0.1-final/my-artifact-0.0.1-final.jar

+0

cảm ơn vì điều này. pom cha mẹ bị thiếu trong kho lưu trữ trung tâm maven. – mhshams

+0

Nhưng dự án maven của bạn có thể xây dựng nó với cùng một sự phụ thuộc. Kỳ dị. – ceilfors

+0

vâng, có vẻ như maven không quan tâm đến cha mẹ pom. – mhshams