繁体   English   中英

AndroidAnnotations-使用Maven时找不到符号(缺少导入)

[英]AndroidAnnotations - cannot find symbol when using maven (missing imports)

AndroidAnnotations 3.0.1。

package com.myapp;
import com.myapp.view.MyView_;
// other imports...

@EActivity(R.layout.start)
public class MyActivity extends Activity {
    @ViewById
    MyView_ myView;

    // using myView
}

和我的自定义视图:

package com.myapp.view;
// imports...
@EView
public class MyView extends TextView {
    // ...
}

我已将我的项目作为Maven项目导入到Android Studio中。 当我从Studio构建它时,一切正常。

但是,当我尝试对其进行mvn package时,出现以下错误:

[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /e:/projects/myapp/target/generated-sources/annotations/com/myapp/MyActivity_.java:[80,22] cannot find symbol
 symbol:   class MyView_
 location: class com.myapp.MyActivity_

当我打开MyActivity_.java生成的文件时,我可以看到com.myapp.view.MyView_类没有导入(使用Studio进行构建时就存在)。 为什么会发生这种情况?

编译器配置:

<plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.1</version>
    <configuration>
        <source>1.7</source>
        <target>1.7</target>
        <annotationProcessors>
            <annotationProcessor>org.androidannotations.AndroidAnnotationProcessor</annotationProcessor>
        </annotationProcessors>
        <compilerArguments>
            <AandroidManifestFile>${project.basedir}/src/main/AndroidManifest.xml</AandroidManifestFile>
        </compilerArguments>
    </configuration>
</plugin>

无济于事。

您不应在@ViewById注释的字段上使用生成的类。 但是您仍然必须在布局文件中使用生成的生成文件:

@EActivity(R.layout.start)
public class MyActivity extends Activity {
    @ViewById
    MyView myView;
}

<LinearLayout ...>
     <my.package.MyView_ .../>
</LinearLayout>

另外,您是否可以确认您在pom.xml中具有这些依赖关系,并且正在使用Java 6(如Wiki上所述 )?

<dependencies>
        <!-- [...] -->
    <dependency>
        <groupId>org.androidannotations</groupId>
        <artifactId>androidannotations</artifactId>
        <version>3.0.1</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.androidannotations</groupId>
        <artifactId>androidannotations-api</artifactId>
        <version>3.0.1</version>
    </dependency>
</dependencies>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM