2011-03-10 3 views
3

Eclipse로 컴파일 할 때 내 res/raw 폴더에 파일을 올바르게 볼 수 있습니다. 동일한 프로젝트가 Maven과 Continuous Integration을 통해 컴파일 될 때, 파일이 예상대로 나오지 않습니다.Maven이 Eclipse와 동일한 방식으로 R.java 파일을 결합하지 않습니다.

이클립스에는 API 프로젝트와 UI 프로젝트가 있습니다. UI 프로젝트가 API를 호출 한 이후 API 프로젝트를 먼저 작성해야합니다. API 프로젝트는 링크 소스로 UI 프로젝트로 가져 왔고 소스는 Eclipse 내에 멋지게 포함되어 있습니다. 메이븐 내 CI를 들어

,이 종속성이 :

<dependency> 
    <groupId>com.myapp.api</groupId> 
    <artifactId>API</artifactId> 
    <version>${project.version}</version> 
    <scope>compile</scope> 
</dependency> 

나는 메이븐 내가 다른 자원으로 UI에서 중복 된 API에 언급 한 자원 ID를 내장했다 응용 프로그램을 실행하면 ID 그래서 API 내 res/raw 파일을 찾을 수 없습니다.

Maven이 Eclipse에서 수행 한 방식으로 R.java 파일을 함께 접으려면 무엇이 누락 되었습니까?

+0

안드로이드 라이브러리 프로젝트를 사용합니까? – pawelzieba

+0

나는 그렇게 생각하지 않는다. 그것을 결정하는 가장 좋은 방법은 무엇입니까? –

답변

1

두 개의 분리 된 android 프로젝트가있는 경우 maven-android-plugin을 살펴보십시오.
Here은 안드로이드 라이브러리 프로젝트 및 here 자세한 사용법 및 문제 해결 방법을 사용하는 방법에 대한 간단한 설명입니다.

+0

내 API 프로젝트가 안드로이드 라이브러리임을 알게되었습니다. 내가 참조한 ApkLib에 약간의 성공을 거뒀습니다. 이제 제대로 포함되지 않은 외부 라이브러리 ksoap2에 문제가 발생했습니다. 나는 그게 내돈에 어떻게 바뀌지 않았지만 어쩌면 내가해야 할까? –

+0

종속성이 제대로 구성되었는지 확인하십시오. 그렇지 않으면 프로젝트가 빌드되지 않거나 런타임에 ClassNotFoundExceptions가 표시됩니다. – pawelzieba

+0

그것이 내가있는 정확한 위치입니다. 나는 부모 치어이 종속성 '\t \t \t \t \t \t \t \t com.google.code.ksoap2 - 안드로이드 \t \t \t \t ksoap2-안드로이드 \t \t \t \t 2.4 과 설정을 가지고 \t \t \t \t는 ' \t \t \t \t 을 제공 –

0

Android에서는 사용하지 않았지만 Eclipse plugin for Maven을 사용해 볼 수 있습니다. 명령 줄에서

mvn eclipse:eclipse 

이렇게하면 pom 파일을 기반으로 .project와 .classpath가 생성됩니다. 다시 말하지만 Android로 시도하지는 않았지만 다른 종류의 프로젝트 (전쟁, 항아리)와 잘 어울립니다.

+0

다른 방향으로 가야합니다. 내 Eclipse 프로젝트는 내가 원하는대로 작동한다.이클립스가 작동하는 방식으로 동작하려면 pom이 필요하다. –

관련 문제