使用Eclipse开发Android报错:Project has no target set. Edit the project properties to set one.

使用Eclipse开发Android报错:Project has no target set. Edit the project properties to set one.

在使用Eclipse开发Android时可能会遇到Eclipse的报错信息:Project has no target set. Edit the project properties to set one.其实不是自己的工程由问题,而是由于导入WorkSpace的方式有问题。下面分情况来说明:
1. WorkSpace目录下没有.metadata文件目录,也没有工程文件,那么直接Eclipse直接进入会自动生成.metadata文件夹。
    例如,在桌面上没有.metadata文件夹,但是把桌面当成是WorkSpace来进入:
那么会直接在桌面上建立.metadata文件夹。
2. 桌面上有.metadata文件夹。
这个时候情况比较复杂。
************************************************************************************************************************************************************************************
如果之前这个WorkSpace有工程但是自己手动删除(直接在Windows下的文件系统中删除),那么会出现
的问题,原因很简单,用编程语言来描述就是,我现在有指针(.metadata文件夹中的信息),指向原本存在的某个对象(工程),我把这个对象删除了,但是指针还在, 当然访问会出错,就是这个原因。
解决办法:
1.直接把和原来工程名字一样的一个工程考入WorkSpace就可以正常使用:指针还指向那里,对象又有了,正常访问。
2.在Eclipse里删除这个工程(这个工程的指针,也就是从.metadata文件里面删除有关的指针信息) :
这样就删除“指针”了。
************************************************************************************************************************************************************************************
************************************************************************************************************************************************************************************
如果之前有.metadata文件,但是没有“指针”,也就是说原来的WorkSpace中没有工程,现在人工手动把一个工程copy到这个WorkSpace中,那么在Eclipse直接打开WorkSpace时候不会有工程文件,原因就是:我内存(WorkSpace)中有对象(工程文件),但是没有指针(.metadata文件夹信息)啊!Eclipse是从.metadate来读取信
息的,没有指针,也就不会显示对应的工程了,也就不能对对应的工程操作了!
************************************************************************************************************************************************************************************
************************************************************************************************************************************************************************************
原来WorkSpace就没有工程现在也没有,正常
原来WorkSpace就有工程现在也对应有,正常
************************************************************************************************************************************************************************************
总结以上,就是“指针”、“内存”、“内存中的对象”之间的关系。
3. 言归正传,出现题目中的出错信息,是由于,在当前WorkSpace下存在一个工程,但是它不被.metadata所指向,也就是没有包含在里面,直接Import导入工程看似正确,但是实际会出错。
Finish确定,就会出现我们标题出现的报错,不仅如此,还会损坏原来存在于WorkSpace的工程文件,里面的  AndroidManifest.xml  文件被空文件覆盖了!这是很坏的一件事情,导入工程,把文件损坏了!再次提醒,备份很重要。
解决办法:
把这个工程放在不是WorkSpace这个目录下的任何一个目录中,然后Import导入就可以,和正常的一样,虽然看起来感觉怪怪的,明明就在WorkSpace里面,但是不能导入,一旦莽撞地导入还会出错,损坏工程文件。
例如,把这个工程文件放在F盘下,可以在当前的WorkSpace(桌面作为WorkSpace)直接导入工程文件,一切正常。
还有一个解决办法,经过查网上的相关资料得知,直接新建一个和原来一样的工程就可以,Eclipse会自动在当前目录下查找是否有与将要新建工程同名的工程文件,如果有,那么直接建立连接(“指针”指向“对象”),如果没有,那么真正新建(“指针”新建,“对象”新建)。
OK!完美导入!
其他:
1. 在选定某一个文件夹作为WorkSpace时,会在此WorkSpace下自动建立一个叫“.metadata”的文件夹,该文件夹中包含的内容有工程的描述,比如里面包含了有多少个工程,每个工程叫什么名字等一些信息,以及WorkSpace的偏好设置(Preferences),比如自己写了一个.epf的文件来设置编辑时的背景颜色,代码颜色等。WorkSpace里面大概就是包括这样子的一些信息,是对于整个WorkSpace的说明以及对于工程的描述。
2. 实际上将.metadata文件的信息比作“指针”,将WorkSpace比作“内存”,将工程文件比作“内存中的对象”,十分好理他们之间的对应关系。
3. 在实际做的时候,尽量不要以新建Android Project来实现导入WorkSpace下存在的工程到Eclipse里面,这样有可能会出现字符资源strings.xml文件被清空的可能,应该是以Java Priject 或者直接  New Project  来建立。
4. 参考Blog:http://blog.csdn.net/Bcai2/article/details/44279101

以上仅个人看法,可能有错误之处,欢迎指正!
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
根据提供的引用内容,出现这个错误是因为找不到com.mchange.v2.c3p0.ComboPooledDataSource类。这个类是c3p0连接池库的一部分,它可能没有正确地添加到项目的构建路径中。 解决这个问题的方法是确保c3p0库已经正确地添加到项目中。以下是一些可能的解决方法: 1. 确认c3p0库已经正确地添加到项目的构建路径中。可以通过以下步骤来添加库: - 在Eclipse中,右键单击项目,选择"Properties"。 - 在"Java Build Path"选项卡中,选择"Libraries"选项卡。 - 点击"Add External JARs"按钮,然后选择c3p0库的JAR文件。 - 点击"Apply"按钮保存更改。 2. 如果c3p0库已经添加到项目中,但仍然出现错误,请确保库的版本与项目的其他依赖项兼容。有时候不同版本的库之间可能会有冲突。 3. 如果以上方法都没有解决问题,可以尝试重新下载并添加最新版本的c3p0库。 以下是一个示例代码,演示了如何使用c3p0连接池创建ComboPooledDataSource对象: ```java import com.mchange.v2.c3p0.ComboPooledDataSource; public class Example { public static void main(String[] args) { ComboPooledDataSource cpds = new ComboPooledDataSource(); // 设置连接数据库的相关配置 cpds.setDriverClass("com.mysql.jdbc.Driver"); cpds.setJdbcUrl("jdbc:mysql://localhost:3306/mydatabase"); cpds.setUser("username"); cpds.setPassword("password"); // 使用连接池获取数据库连接 Connection conn = cpds.getConnection(); // 执行数据库操作 // 关闭连接 conn.close(); } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值