[英]AndroidStudio :Cannot resolve symbol 'MainActivity'.Using AndroidAnnotations
[英]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.