.classpath文件的作用
可以参考.classpath文件的作用
.project文件的作用
确保你自己的eclipse能创建Java项目,并且正确编译运行helloworld,给eclipse配置好了Java环境
基于 .classpath文件
,我们看来来不同版本的.project文件
对项目的影响
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="lib"/>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="bin"/>
</classpath>
version 1
仅有一个项目名
.project文件内容
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>blockchain</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
</buildSpec>
<natures>
</natures>
</projectDescription>
项目截图
version 2
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>blockchain</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>
项目截图
开心了,有了jre,maven也出来了,浏览每一个.java文件,发现没有报错,运行项目看看
运行项目后报错:
错误: 找不到或无法加载主类 com.langdon.blockchain.Main
为什么?main函数明明已经写好了,为什么会找不到呢?
我们看看.class文件
有没有生成,发现项目里压根没有.class文件
,原来的项目没有被eclipse编译成功。
version 3
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>blockchain</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>sf.eclipse.javacc.javaccbuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>
项目结构图没有变化
运行效果: 成功了,.class文件
成功出现在项目目录下的bin文件夹
如果仍然报错:尝试修改.classpath文件
->保存->撤销修改.classpath文件
->保存->运行项目->成功
(记得每次修改.project文件后都在eclipse里refresh一下项目)
一些结论
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
nature说明项目的性质,是项目的静态属性,可以为项目添加多个nature;
buildCommand是项目的动态属性,说明需要用什么工具来构建项目;
也有说法是:nature-插件,buildCommand-加载方式