1,java project基本结构

1.1 设计:

目录:src         #写入工程的源代码
目录:test        #对应源代码的测试代码
目录:lib         #第三方jar包
目录:conf        #配置文件,因为不在src和test中(source folder默认是classpath路径),所以需要run as config加入该目录到classpath
文件:build.xml   #便于命令行ant
文件:Readme.txt  #说明文件

1.2 图例:

[xxx@xxx workspace]$ tree testConfig/
testConfig/
├── bin
│   └── com
│       └── aliyun
│           └── app
│               ├── Main.class
│               └── Test.class
├── build
│   └── ...
├── build.xml
├── conf
│   └── app_config.property
├── lib
│   └── gson-1.7.1.jar
├── Readme.txt
├── src
│   └── com
│       └── aliyun
│           └── app
│               └── Main.java
└── test└── com└── aliyun└── app└── Test.java

1.3 说明:

1,上图中的src和test:
注意是建立file->new->Source Folder方式建立的,Source Folder不同于Folder,默认成为Source,这可以在Java Build Path的Source选项下看到。Source说明了是默认的classpath路径。所以如果你直接把config文件放置在上图中的src或test下的任意一层目录下,在java代码中只要load("a.config")(注意不需要相对路径或绝对路径,只要文件名就可以)就都可以找到。但是如果config文件放置在Project下与src、build.xml同层,就不可以读到了。
2,上图中的conf:
或者你也可以放置配置文件于conf中,在run as config中手动加入该文件夹,这样,也会把a.config加入到classpath中来。一般你下载到一个project,默认应该把这个文件下载到本地,要放入eclipse,那么其conf目录规范的应该配置在run as config中。另外,特别的,bin目录是默认的class文件路径,也在classpath下,所以你要直接读什么配置,放置在bin下也是可以的。
3,上图中的build.xml:
build.xml是为了在命令行下,使用java -cp 方式调用jar包,build.xml规定了一些命令来处理jar包生成规则,在命令行ant就可以得到build文件夹。
4,上图中的lib:
lib的作用是代码使用的第三方jar包,默认你应该把这个目录在build path中add jar进来。

2,project中两个重要的配置

2.1 Build Path

Java Build Path是针对project来说的,每个project在编译时需要检查文件中引用的其他的包或者代码,如果不在Java Build Path中设置,那么语法检查就会使文件上面有小红叉叉。

这里解释Java Build Path中的几个选项的作用:

1,“Source”

它允许您设置Eclipse将在哪里查找源文件,还可指定哪些源文件是要用的哪些是可以忽略的。

2,“Projects”

它允许您设置当前项目所依赖的项目,这样,您可以在一个项目中设置一些库或公共代码,并从其他项目简单地包含该项目。

3,“Libraries”

它允许您将JAR文件、库和类文件夹添加到类路径中。

注意add jar和add external jar的区别在于,建议使用add jar时加入工程lib文件夹下的jar包,.classpath中会使用相对路径;而add external jar则会使用绝对路径,一旦移动位置,add external jar的一定会有问题。

4,“Order and Export”

当你的一个ProjectA 要使用ProjectB,可以导入B的jar包,但是如果要debug,就必须使用源码,可以导入ProjectB。“Order and Export”中设置先选用哪个。

<加入jar包:buildPath->Libraries->加入jar>
   <加入源码:buildPath->projects->加入project>

这里再解释一下eclipse的编译机制:

Eclipse有一个增量编译器,每次保存一个Java文件时它就自动进行编译。这个特性被称做“自动构建”。假如不需要这个功能,可以在Project->Build Automatically中设置,关闭这个特性。随后工具条中会出现“Build All”的按钮。类似的选项也会出现在相关的选单中。

这里示例一下BuildPath在hive中的设置:

2.2 Run configurations

Run configurations是针对某个main文件来说的,用来配置main函数的一些参数,运行环境等。

这是里的.classpath配置的是我需要临时加载的文件路径,因为你在文件里常常用一些配置文件,比如a.config。

在java中读这个文件,其实不需要写相对路径(例如"./conf/a.config"),只需要写入文件名("a.config"),那么eclipse会自动在classpath下去查找这个文件。如何配置classpath呢,一种是默认的,当你新建立一个Source Folder(注意不是文件夹folder),那么这个目录就会加入到source里,source里的都是默认的classpath路径。或者你需要在run as config时手动加入这个文件,一般是加入一个conf文件夹,于是你在.classpath里面明确指明了这个路径,如下示:

3,eclipse项目的.project和.classpath文件

如果你想要导入一个工程,即project->import->existing java project,必须要原来的工程有3.1和3.2这两个文件:

3.1 .classpath

.classpath的位置定义了你这个项目在编译时所使用的$CLASSPATH,包括了在build path中加入的jar包,也包括run as config中的classpath中加入的内容,所以直接修改这个文件也可以!

3.2 .project

.project是项目文件,这些配置主要是描述工程的基本信息,如工程名<name></name>;工程注释描述<comment></comment>;运行时需要的额外Eclipse插件<natures></natures>;及其具体加载方式信息<buildSpec></buildSpec>。如果你在开发过程中向工程里面加入了很多额外的插件,则必然会导致你的Eclipse启动速度变慢。

3.3 .settings

里面存放各种插件的配置文件。

4,eclipse常见问题

3.1,Could not find the main class

报错如下:
Exception in thread "main" java.lang.NoClassDefFoundError: com/xxx/lineage/app/ToolTest
Could not find the main class: com.aliyun.lineage.app.ToolTest. Program will exit.

原因:

一般情况是包含该main函数的java文件对应的编译后的.class文件找不到,这种缺失可能是你主动删除了bin/目录等原因造成的,但是eclipse又没有检测到进而重新编译,所以需要手动再编译。
解决方法:
去掉自动编译,重新手动编译;或者去掉一个Jar包,再加入一个Jar包,eclipse会自动再次编译。

3.2,红色感叹号

红色感叹号:在项目上右击Build Path -> Configure Build Path.(或Propertise->Java Build Path) 在Java Build Path中Libraries,检查Build Path中的各个依赖jar及library是否有warning的标志,红色叉号的包为路径错误的包。 处理好后返回刷新工程即可,这个问题一般是导入别人的项目或之前的一些JAR包移动了它的存储位置。

3.3,eclipse的classpath

java.exe本身的一个参数-cp(classpath)设置classpath,eclipse默认的classpath包括三个部分: 
1、jdk的bin目录; 
2、工程引用的所有其他jar包路径 
3、工程根路径(对,不是bin路径)

3.4,代码中出现删除线

Eclipse代码出现删除线原因:这种方法或者类是早期的,后期有更好的方法来替代它,这个意思是不建议使用这个方法或者类。但是还可以使用,这应该是为了前后兼容才这么做的。在语义上最好不使用这个方法。

【Eclipse】Eclipse常用操作

http://www.cnblogs.com/xhzi/archive/2011/03/08/1977068.html

软件-eclipse相关推荐

  1. 蓝桥杯Java——安装软件Eclipse以及JDK

    蓝桥杯Java--安装软件Eclipse以及JDK 安装Eclipse 安装JDK 检查JDK是否安装成功 安装Eclipse 安装后打开失败 安装Eclipse 安装JDK http://www.o ...

  2. Ubuntu18.04将软件(Eclipse)固定在侧边收藏夹

    1.打开终端,输入命令: cd ~/.local/share/applications/ 2.新建应用图标:vim ***.desktop (例如:vim eclipse-for-java.deskt ...

  3. Android开发软件Eclipse安装教程

    原创 灵思致远 2018-05-14 作者 leansmall 假设Android开发软件ADT安装目录是: D:\AndroidSDK (1)先安装JDK JAVA安装目录是: C:\Program ...

  4. 最新!超详细! eclipse软件安装教程。

    Java入门第一步! eclipse软件安装教程. 学习java语言编程,必不可少的软件就是以Java语言写成的Java编程软件--eclipse! 当然,你也可以使用其他软件进行jave编程操作,例 ...

  5. jseclipse 是eclipse插件,让你编写js代码感觉更爽

    一直以来都没有客意的去找一下eclipse下面的javascript开发插件,今天在网上无意发现了一个,回去试了一下,感觉不错.写JS代码根写PHP代码差不多感觉挺爽的. JSEclipse是个Ecl ...

  6. Eclipse 集成gtk开发环境

    环境简介 操作系统 Ubuntu 11 软件 Eclipse 类库 gtk2.0 软件安装 gtk 安装命令 sudo apt-get install libgtk2.0-dev Eclipse 设置 ...

  7. 编程语言之常用的编译器和软件的版本规范

    编程语言之常用的编译器和软件的版本规范 数据库篇: MySQL 软件 5.7.18-log 版本 msi安装版 (其他版本暂时不考虑) Sql Server 2014 iso 镜像版本 微软官网安装包 ...

  8. Eclipse相关技术总结

    1).Eclipse: The declared package does not match the expected package Close and reopen the already op ...

  9. eclipse中ADT和SDK配置(详解)

    目录 前言 环境配置 操作步骤 注意事项 前言 网上很多帖子都说用eclipse开发Android现在已经麻烦了,还不如用Android studio 这一款开发工具.但是为了很多喜欢用eclipse ...

最新文章

  1. iOS进阶之底层原理-锁、synchronized
  2. 洛谷 P1242 新汉诺塔
  3. halcon write_ocr_class_svm 将OCR分类器写入文件
  4. 推荐一本学Python的好书《Python程序设计(第2版)》
  5. 96 年美女胜出!那个有关“猪脸识别”的比赛决出冠军啦
  6. VirtualApp实战之拿到女神朋友圈封面
  7. windows函数入口问题 UNREFERENCED_PARAMETER的用处 _tWinMain与wWinMain又有什么区别
  8. HBuilderX报错:ESC[0;31m--> LibSass的二进制文件.....]
  9. 加州大学洛杉玑分校计算机专业,加州大学洛杉矶分校
  10. 你真的懂Java怎么输出Hello World吗?
  11. SEO优化工具,查询死链VisualSEOStudio-2.0.2.3
  12. Latex表格标题左对齐,并且table加粗
  13. 粗略的了解Javascript
  14. 案例:用python将中文翻译的和英文原文合成新的word文档
  15. Hexo-NexT主题添加评论功能(来必力、Hypercomments、畅言、友言)
  16. 超给力,一款程序员必备的 996 代码工作量分析工具
  17. 战略到底在研究什么?
  18. 闭环式数字孪生智慧交通管理系统平台应用及分析
  19. 十年数据标注:缺席的独角兽与走不出的围城
  20. ASP.Net0626快播影院视频网的设计与实现

热门文章

  1. 服务主机superfetch占用磁盘过多
  2. 强力打造品位男人——不同场合的着装
  3. 基于sklearn的决策树应用实战
  4. 网站如何记录访客的个人信息?
  5. 【小猿說】程序员喝酒解释专业术语,笑死我了!
  6. 启动docker并使用systemctl命令管理服务
  7. 核查医药代表备案信息是否正确
  8. 955 加班少的公司名单(2021年)
  9. 安装网易云音乐,解决无法打开的问题
  10. 人脸识别自助收银终端进入商超场景,开启新零售自助收银模式