.classpath文件的作用

可以参考.classpath文件的作用

.project文件的作用

确保你自己的eclipse能创建Java项目,并且正确编译运行helloworld,给eclipse配置好了Java环境

基于 .classpath文件,我们看来来不同版本的.project文件对项目的影响

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <classpath>
  3. <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
  4. <classpathentry kind="src" path="src"/>
  5. <classpathentry kind="src" path="lib"/>
  6. <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
  7. <attributes>
  8. <attribute name="maven.pomderived" value="true"/>
  9. </attributes>
  10. </classpathentry>
  11. <classpathentry kind="output" path="bin"/>
  12. </classpath>

version 1

仅有一个项目名

.project文件内容

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <projectDescription>
  3. <name>blockchain</name>
  4. <comment></comment>
  5. <projects>
  6. </projects>
  7. <buildSpec>
  8. </buildSpec>
  9. <natures>
  10. </natures>
  11. </projectDescription>

项目截图

version 2

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <projectDescription>
  3. <name>blockchain</name>
  4. <comment></comment>
  5. <projects>
  6. </projects>
  7. <buildSpec>
  8. </buildSpec>
  9. <natures>
  10. <nature>org.eclipse.jdt.core.javanature</nature>
  11. </natures>
  12. </projectDescription>

项目截图

开心了,有了jre,maven也出来了,浏览每一个.java文件,发现没有报错,运行项目看看

运行项目后报错:

错误: 找不到或无法加载主类 com.langdon.blockchain.Main

为什么?main函数明明已经写好了,为什么会找不到呢?

我们看看.class文件有没有生成,发现项目里压根没有.class文件,原来的项目没有被eclipse编译成功。

version 3

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <projectDescription>
  3. <name>blockchain</name>
  4. <comment></comment>
  5. <projects>
  6. </projects>
  7. <buildSpec>
  8. <buildCommand>
  9. <name>sf.eclipse.javacc.javaccbuilder</name>
  10. <arguments>
  11. </arguments>
  12. </buildCommand>
  13. </buildSpec>
  14. <natures>
  15. <nature>org.eclipse.jdt.core.javanature</nature>
  16. </natures>
  17. </projectDescription>

项目结构图没有变化

运行效果: 成功了,.class文件成功出现在项目目录下的bin文件夹

如果仍然报错:尝试修改.classpath文件->保存->撤销修改.classpath文件->保存->运行项目->成功

记得每次修改.project文件后都在eclipse里refresh一下项目

一些结论

  1. <natures>
  2. <nature>org.eclipse.jdt.core.javanature</nature>
  3. </natures>

nature说明项目的性质,是项目的静态属性,可以为项目添加多个nature;

buildCommand是项目的动态属性,说明需要用什么工具来构建项目;

也有说法是:nature-插件,buildCommand-加载方式

eclipse .project文件 .classpath文件的作用的更多相关文章

  1. eclipse中的.project 和 .classpath文件的具体作用

    .project是项目文件,项目的结构都在其中定义,比如lib的位置,src的位置,classes的位置 .classpath的位置定义了你这个项目在编译时所使用的$CLASSPATH 这些文件你用文 ...

  2. eclipse中的project 和classpath文件的具体作用

    项目->右键 Properties-> java Build Path -> source: xxx/data xxx/src 体现在 .classpath文件中: .classpa ...

  3. (转) eclipse项目中.classpath文件详解

    背景:对于java项目中.classpath文件中的相关定义一直不是很了解,有必要进行深入的学习. 1 前言 在使用eclipse或者myeclipse进行Java项目开发的时候,每个project( ...

  4. eclipse项目中.classpath文件详解

    1 前言 在使用eclipse或者myeclipse进行java项目开发的时候,每个project(工程)下面都会有一个.classpath文件,那么这个文件究竟有什么作用? 2 作用 .classp ...

  5. eclipse中的.project 和 .classpath文件的具体作用(综合):

    .project是项目文件,项目的结构都在其中定义,比如lib的位置,src的位置,classes的位置 .classpath的位置定义了你这个项目在编译时所使用的$CLASSPATH 这些文件你用文 ...

  6. 生成.project、.classpath文件

    新导出的项目如果没有.project文件,是不能导入到工具中的,需要执行maven命令生产,在进入工作空间下面,按住shift再点击鼠标右键,点击选择在此处打开命令窗口. 然后输入对应的maven命令 ...

  7. java web项目 。classpath 文件解析

    eclipse工程中.classpath文件含义: 下面是一个.classpath文件内容: < ?xml version="1.0" encoding="UTF- ...

  8. 【git】git提交忽略不必要的文件或文件夹

    对于经常使用Git的朋友来说,.gitignore配置一定不会陌生.废话不说多了,接下来就来说说这个.gitignore的使用. 首先要强调一点,这个文件的完整文件名就是".gitignor ...

  9. eclipse 中的.classpath和.project文件的具体作用(转)

    转载博客:http://www.cnblogs.com/panjun-Donet/archive/2010/08/25/1807780.html .project是项目文件,项目的结构都在其中定义,比 ...

随机推荐

  1. [Python进阶]002.装饰器(1)

    装饰器(1) 介绍 HelloWorld 需求 使用函数式编程 加入装饰器 解析 介绍 Python的装饰器叫Decorator,就是对一个模块做装饰. 作用: 为已存在的对象添加额外功能. 与Jav ...

  2. Sniffer截包工具的使用

    Sniffer软件的安装 sniffer需要在xp或者win2003环境下才能正常运行,如果没有这两个系统,可以安装虚拟机,在虚拟机上使用sniffer.如果没有这两个系统就会出现找不到网卡或者打不开 ...

  3. [PHP插件教程]002.代码包PHP Beautifier的使用

    This program reformat and beautify PHP source code files automatically. The program is Open Source a ...

  4. CustomerDAO及CustomerImpl的实现 & CustomerImpl的单元测试

    BaseDAO:封装了针对于数据表的操作,提供通用的方法,完成后续针对具体表的逻辑 CustomerDAO:此接口用于规范 针对customers表的常用操作 CustomerDAOImpl:继承Ba ...

  5. 关于安装Linux-centOS时遇到的问题

    1.新建虚拟机实例后倒入centos镜像开机报错.提示不支持 64 位.... 重新下载虚拟机安装包,重新安装. 2.安装到检查光盘镜像的下一步,vm is nor support (or ... c ...

  6. 使用 git add -p 整理 patch

    背景 当我们修改了代码准备提交时,本地的改动可能包含了不能提交的调试语句,还可能需要拆分成多个细粒度的 pactch. 本文将介绍如何使用 git add -p 来交互式选择代码片段,辅助整理出所需的 ...

  7. PIX防火墙配置A/S故障切换

    PIX防火墙配置A/S故障切换 1.基本命令 failover show failover failover lan enable failover lan interface zwish e2 fa ...

  8. Chisel3 - util - OneHot

    https://mp.weixin.qq.com/s/Jsy8P3m9W2EYKwneGVekiw   独热码相关的电路生成器.   参考链接: https://github.com/freechip ...

  9. Java实现 LeetCode 686 重复叠加字符串匹配

    686. 重复叠加字符串匹配 给定两个字符串 A 和 B, 寻找重复叠加字符串A的最小次数,使得字符串B成为叠加后的字符串A的子串,如果不存在则返回 -1. 举个例子,A = "abcd&q ...

  10. HttpUtil工具类,发送Get/Post请求,支持Http和Https协议

    HttpUtil工具类,发送Get/Post请求,支持Http和Https协议 使用用Httpclient封装的HttpUtil工具类,发送Get/Post请求 1. maven引入httpclien ...