2013-09-04 5 views
0

라이브러리 프로젝트를 만들고 packingapklib으로 만듭니다.maven apklib를 사용할 때 컴파일 오류가 발생했습니다.

<dependency> 
    <groupId>com.ati</groupId> 
    <artifactId>common-lib</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <type>apklib</type> 
</dependency> 

내가 좋아하는 내 응용 프로그램 프로젝트에 lib 디렉토리를 사용합니다 : com.ati.common_lib.Test.demo();mvn clean install를 사용하는 응용 프로그램에서 나는 depedency을 추가했습니다. 그것은 효과가있다! 하지만 import com.ati.common_lib;Test.demo();mvn clean build를 사용하는 경우 그것은 내가 받는다는 3.0.5을 사용하고있는 오류

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project soci-news: Compilation failure: Compilation failure: 
[ERROR] /Data/Work/workspace/soci-parent/soci-news/src/main/java/com/ati/soci_news/HelloAndroidActivity.java:[9,15] cannot find symbol 
[ERROR] symbol : class common_lib 
[ERROR] location: package com.ati 
[ERROR] /Data/Work/workspace/soci-parent/soci-news/src/main/java/com/ati/soci_news/HelloAndroidActivity.java:[23,9] cannot find symbol 
[ERROR] symbol : variable Test 
[ERROR] location: class com.ati.soci_news.HelloAndroidActivity 
[ERROR] -> [Help 1] 
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. 
[ERROR] Re-run Maven using the -X switch to enable full debug logging. 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles: 
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException 
[ERROR] 
[ERROR] After correcting the problems, you can resume the build with the command 
[ERROR] mvn <goals> -rf :soci-news 

을 던져 m2e-안드로이드와 "케플러 버전을"일식. 라이브러리 및 응용 프로그램은 m2e-android에서 만들었습니다. 여기서 내가 뭘 잘못하고 있니?

UPDATE

내 부모의 pom.xml

<?xml version="1.0" encoding="UTF-8"?> 
<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>com.ati</groupId> 
    <artifactId>soci-parent</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <packaging>pom</packaging> 
    <name>Soci project parent</name> 

    <modules> 
     <module>common-lib</module> 
     <module>soci-news</module> 
    </modules> 

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

    <dependencyManagement> 
     <dependencies> 
      <dependency> 
       <groupId>com.google.android</groupId> 
       <artifactId>android</artifactId> 
       <version>2.2.1</version> 
      </dependency> 
     </dependencies> 
    </dependencyManagement> 

    <build> 
     <pluginManagement> 
      <plugins> 
       <plugin> 
        <groupId>com.jayway.maven.plugins.android.generation2</groupId> 
        <artifactId>android-maven-plugin</artifactId> 
        <version>3.6.1</version> 
        <configuration> 
         <sdk> 
          <platform>8</platform> 
         </sdk> 
         <undeployBeforeDeploy>true</undeployBeforeDeploy> 
        </configuration> 
       </plugin> 
      </plugins> 
     </pluginManagement> 
    </build> 
</project> 

내 라이브러리의 pom.xml

<?xml version="1.0" encoding="UTF-8"?> 
<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/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <parent> 
     <groupId>com.ati</groupId> 
     <artifactId>soci-parent</artifactId> 
     <version>0.0.1-SNAPSHOT</version> 
    </parent> 

    <groupId>com.ati</groupId> 
    <artifactId>common-lib</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <packaging>apklib</packaging> 
    <name>common lib for ati android application</name> 

    <properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     <platform.version> 2.2.1 
     </platform.version> 
     <android.plugin.version>3.6.1</android.plugin.version> 
    </properties> 

    <dependencies> 
     <dependency> 
      <groupId>com.google.android</groupId> 
      <artifactId>android</artifactId> 
      <scope>provided</scope> 
     </dependency> 
    </dependencies> 

    <build> 
     <plugins> 
      <plugin> 
       <groupId>com.jayway.maven.plugins.android.generation2</groupId> 
       <artifactId>android-maven-plugin</artifactId> 
       <extensions>true</extensions> 
      </plugin> 
     </plugins> 
    </build> 
</project> 

내 애플의 pom.xml 파일

<?xml version="1.0" encoding="UTF-8"?> 
<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/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <parent> 
     <groupId>com.ati</groupId> 
     <artifactId>soci-parent</artifactId> 
     <version>0.0.1-SNAPSHOT</version> 
    </parent> 
    <groupId>com.ati</groupId> 
    <artifactId>soci-news</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <packaging>apk</packaging> 
    <name>soci-news</name> 

    <dependencies> 
     <dependency> 
      <groupId>com.google.android</groupId> 
      <artifactId>android</artifactId> 
      <scope>provided</scope> 
     </dependency> 

     <dependency> 
      <groupId>com.ati</groupId> 
      <artifactId>common-lib</artifactId> 
      <version>0.0.1-SNAPSHOT</version> 
      <type>apklib</type> 
     </dependency> 
    </dependencies> 

    <build> 
     <plugins> 
      <plugin> 
       <groupId>com.jayway.maven.plugins.android.generation2</groupId> 
       <artifactId>android-maven-plugin</artifactId> 
       <extensions>true</extensions> 
      </plugin> 
     </plugins> 
    </build> 
</project> 
+0

모든 POM을 볼 수 있습니까? – alex

+0

HelloAndroidActivity를 찾을 수 없습니다. 당신이 그것을 사용한다면 그것을 사용할 수 있는지 확인하십시오. –

+0

@alex : 내 질문을 업데이트했습니다. – hieuxit

답변

1

가져 오기가 손상되었습니다.

com.ati.common-lib은 패키지이지만 패키지의 내용을 모두 가져 오려면 실제로 com.ati.common-lib.*이고 테스트 클래스 만 입력하면 com.ati.common-lib.Test입니다.

+0

mvn clean 패키지와 mvn clean을 각 maven 프로젝트 (lib 프로젝트, app 프로젝트 및 parent 프로젝트)에 설치하려고 시도했지만 행운은 없습니다. 상위 프로젝트 또는 앱 프로젝트에서 사용할 때 컴파일 오류가 발생합니다. 나는 정말로 당신의 마음을 이해하지 못한다. 그래서 나는이 오류가 고칠 수 있을지 궁금하다. – hieuxit

+0

import com.ati.common_lib. *을 사용해 볼 수 있습니까? com.ati.common_lib.Test; – alex

+0

OK !!! 그것은 매우 이상하게 작동했습니다 :)). 고맙습니다. 괜찮 으면, 다른 질문을해도 될까요?이 그림에서 http://imgur.com/5lvgPkq는 제 일식 파일 편집기입니다. 이클립스는 R 파일, 테스트 클래스 등을 인식하지 못한다. 필자는 보통 필자가 outand maven으로 보통의 안드로이드 프로젝트를 사용하기 때문에 코드 제안을 보여주지 않는다. 왜 그런지 알아? 그리고 그것을 고정하는 방법? 이 어린 아이 같은 질문은 유감 스럽다. 많은 분들께 감사드립니다. – hieuxit