大佬教程收集整理的这篇文章主要介绍了android – 在Eclipse中转换为Maven项会导致ClassNotFoundException,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
新创建时,简单的Android应用程序运行正常.但是,当我将其转换为Maven项目时,每当我尝试运行应用程序时,我都会开始获取ClassnotFoundException.我已经尝试更新项目,重新启动Eclipse,检查构建路径中的所有库,清理和重建项目,重新启动模拟器,并将我的pom.xml减少到最低限度.
这个错误的原因是什么?对Maven来说是一些简单的错误配置吗?
我的LogCat:
07-09 23:07:18.027: D/AndroidRuntime(958): ShutTing down VM 07-09 23:07:18.027: W/dalvikvm(958): threadid=1: thread exiTing with uncaught exception (group=0x409c01f8) 07-09 23:07:18.137: E/AndroidRuntime(958): FATAL EXCEPTION: main 07-09 23:07:18.137: E/AndroidRuntime(958): java.lang.RuntimeException: Unable to instantiate activity ComponenTinfo{Com.example.myproject/com.example.myproject.MainActivity}: java.lang.ClassnotFoundException: com.example.myproject.MainActivity 07-09 23:07:18.137: E/AndroidRuntime(958): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1880) 07-09 23:07:18.137: E/AndroidRuntime(958): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981) 07-09 23:07:18.137: E/AndroidRuntime(958): at android.app.ActivityThread.access$600(ActivityThread.java:123) 07-09 23:07:18.137: E/AndroidRuntime(958): at android.app.ActivityThread$H.handlemessage(ActivityThread.java:1147) 07-09 23:07:18.137: E/AndroidRuntime(958): at android.os.Handler.dispatchmessage(Handler.java:99) 07-09 23:07:18.137: E/AndroidRuntime(958): at android.os.Looper.loop(Looper.java:137) 07-09 23:07:18.137: E/AndroidRuntime(958): at android.app.ActivityThread.main(ActivityThread.java:4424) 07-09 23:07:18.137: E/AndroidRuntime(958): at java.lang.reflect.Method.invokeNative(Native Method) 07-09 23:07:18.137: E/AndroidRuntime(958): at java.lang.reflect.Method.invoke(Method.java:511) 07-09 23:07:18.137: E/AndroidRuntime(958): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 07-09 23:07:18.137: E/AndroidRuntime(958): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 07-09 23:07:18.137: E/AndroidRuntime(958): at dalvik.system.NativeStart.main(Native Method) 07-09 23:07:18.137: E/AndroidRuntime(958): Caused by: java.lang.ClassnotFoundException: com.example.myactivity.MainActivity 07-09 23:07:18.137: E/AndroidRuntime(958): at dalvik.system.baseDexClassLoader.findClass(BaseDexClassLoader.java:61) 07-09 23:07:18.137: E/AndroidRuntime(958): at java.lang.ClassLoader.loadClass(ClassLoader.java:501) 07-09 23:07:18.137: E/AndroidRuntime(958): at java.lang.ClassLoader.loadClass(ClassLoader.java:461) 07-09 23:07:18.137: E/AndroidRuntime(958): at android.app.instrumentation.newActivity(instrumentation.java:1023) 07-09 23:07:18.137: E/AndroidRuntime(958): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1871) 07-09 23:07:18.137: E/AndroidRuntime(958): ... 11 more
我的pom.xml:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLscheR_404_11845@a-instance" xsi:scheR_404_11845@aLOCATIOn="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.example</groupId> <artifactId>myproject</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <dependencies> <dependency> <groupId>com.google.android</groupId> <artifactId>android</artifactId> <version>4.1.1.4</version> <scope>provided</scope> </dependency> </dependencies> <build> <sourceDirectory>src</sourceDirectory> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.0</version> <configuration> <source>1.7</source> <target>1.7</target> </configuration> </plugin> </plugins> </build> </project>
我的MainActivity.java:
package com.example.myproject; import android.os.bundle; import android.app.Activity; import android.view.Menu; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceStatE) { super.onCreate(savedInstanceStatE); setContentView(R.layout.activity_main); } @Override public Boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main,menu); return true; } }
更新:我发现在pom.xml上尝试做Maven Clean和Maven生成源成功.但是,Maven安装给我一个错误:
[ERROR] COMPILATION ERROR : [INFO] ------------------------------------------------------------- [ERROR] MainActivity.java:[12,33] package R does not exist [ERROR] MainActivity.java:[18,44] package R does not exist
我还在最新的编辑中添加了一些内容(依赖和包装)以及修改过的(1.6-> 1.7,3.1-> 3.0)pom.xml文件.
试试这个(在终端):
>制作一个文件夹,例如. mymvnProjects.
>转到此文件夹.
>类型:mvn archetype:generate
>选择de.akquinet.android.archetypes:android-quickstart(为Android应用程序创建骨架)(或其他 – 它取决于您的需求).
>提供必要参数(platform,groupId,artifactId,version等)
>点击回车(或在Mac上返回)就是这样–Maven为您生成一个简单的项目.
>键入:mvn clean install并等待它构建.
顺便说一句,我很好奇为什么你有< packaging> jar< / packaging>在你的主要android项目中.你应该有< packaging> apk< / packaging>.更重要的是,Maven对JDK 7没有任何问题.
以上是大佬教程为你收集整理的android – 在Eclipse中转换为Maven项会导致ClassNotFoundException全部内容,希望文章能够帮你解决android – 在Eclipse中转换为Maven项会导致ClassNotFoundException所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。