Java项目的结构
-------siwuxie095
以 Hello World 为例
这个工程用一个文件夹表示,被放置在左侧的资源管理面板 Package Explorer 中

展开后:
可以看到一个
src 文件夹,用于存放项目的源代码
〔
src 即 source 也即 source code 〕
而
JRE System Library 即当前工程所需要的运行时,它的版本是
在创建这个工程时所选择的JRE版本,这里是 jre(被我个人命名)

展开
JRE System Library:
下面有很多
jar 格式的包,即系统的运行时提供给程序的运行环境和开放的 API

展开
src:
可以看到
default package,即默认包,下面是类

在正规的开发环境中,"使用默认包 default package,在下面创建类"
的做法是非常不可取的
规范的做法:在默认包下创建它的子包〔实际上就是替代了默认包〕
(先删掉上面的
Test.java,在 default package 上:右键->New->Package)


包名的命名规则:
如:网站名为:www.siwuxie095.com,则当前的包名规则是反过来的
即:com.siwuxie095,第一个代表公司性质 commercial 商业性质;
第二个是公司名称;
接下来是项目名称,如:hello,即 com.siwuxie095.hello
接下来继续添加,这时的包名就是按照功能来划分的了,如:这
里创建的第一个包是用来运行和开启程序的,可以命名为main,
即
com.siwuxie095.hello.main

Finish 后,一览:
默认包
default package 就变成了 com.siwuxie095.hello.main
同时自动创建了一个类


一般情况下,一个应用程序应该遵循MVC的结构规则
〔
M 即 Model 模型;V 即 View 视图、界面;C 即 Control 控制 〕
显然,这里的
main 包存放的就是用于控制的代码
可以在 src 上,右键->New->Package,继续创建包
视图:com.siwuxie095.hello.view
模型:com.siwuxie095.hello.model
三个基本包创建完成,如果项目非常复杂,程序的包结构也会非常复杂

包创建完成后,首先要创建程序的主要入口,即 主方法,
在
com.siwuxie095.hello.main 上,右键->New->Class

Name:Main,勾选上 public static void main(String[] args)

接下来,如果要为项目创建一个用于储存模型的类,就要放到
com.siwuxie095.hello.model 包中,如:在游戏项目中,游戏
地图、人物属性等都属于数据模型,应该放到此包中
最后,如果项目还需要添加视图
和
用户界面,就要放到
com.siwuxie095.hello.view 包中,存放显示视图的类
创建完成一览:package-info.java 可以删除

包和类都创建完成后,它们在硬盘中储存情况:
在资源管理器中找到
Eclipse 的工作空间 workspace,
打开项目
Hello World

src 下的 com.siwuxie095.hello.main,每一个点都代表一级文件结构

因为在工程中,main、model、view 这三个包的前缀都一样,
即
截止到
hello,都是储存在同一文件结构中,到了它们本身就
分开成
三个
文件夹存储

返回到项目 Hello World 的目录下,可以看到一个 bin 文件夹,
这个
bin 路径在 Eclipse 的工程管理面板(或 资源管理面板)中
是不可见的,bin 是用来存放当前 Eclipse 实时编译的 .class 文件,
它的文件夹结构和
src 完全相同
(.class 文件 即 Java的二进制文件)


当然,如果需要,也可以资源管理器中直接创建包的结构
如:在
src 下的 hello 目录下,创建 network 文件夹,这样就创建了一个
新的
network 包

不过在 Eclipse 的工程中还没有反应过来,需要手动刷新
点击工程项目名
Hello World,按 F5 刷新,或 右键->Refresh 即可

还可以为当前包创建子包,如:在
view 下创建文件夹 img,
用于存放图像,仍需到
Eclipse 中点击当前的工程,手动刷新,
才能显示


在工程文件夹目录下还可以创建其他文件夹,最常出现的是
一个名为
lib 的文件夹,可以存放一些第三方的库,直接复制
粘贴过来即可,如:复制粘贴一个
gson-2.8.0.jar


回到
Eclipse 中,手动刷新一下,显然,lib 和 src 文件夹是同一级的

lib 下的 gson-2.8.0.jar 只是出现在了工作的环境当中,并没有被工程所引用
这时选中
gson-2.8.0.jar,右键->Build Path->Add to Build Path,

将其添加到
Build Path,会出现一个新的结构:Referenced Libraries,
即
被引用的库,当一个jar包出现在这里,就说明它已经被当前工程所引用

且可以展开这个包,观察其目录结构,显然,其包名是符合命名规范的

这样,你就可以在工程中引用此包中的内容
如:com.google.gson 中包含了 JsonObject.class

就可以直接引用:

运行一览:输出一个空大括号,即代表一个空的Json数据

【made by siwuxie095】
Java项目的结构的更多相关文章
- (一)JAVA项目(非web项目)部署到windows服务器运行
[转]http://blog.csdn.net/tracy19880727/article/details/11205063 一般服务器运行的几乎都是web项目,今天遇到一个问题,把写好的Java项目 ...
- eclipse集成maven3后,创建java项目详细图解
1.创建一个Java项目 1)File--->New--->Other--->Maven--->Maven Projet 2)选择maven-archetype-quickst ...
- Eclipse JAVA项目的 目录结构 和 导入
说明:本文所有测试以java工程为例: 1. Eclipse下的java工程目录 eclipse的基本工程目录叫做workspace,每个运行时的eclipse实例只能对应一个workspace,也就 ...
- idea中的java web项目(添加jar包介绍)和java maven web项目目录结构
java web项目 web项目下web根目录名称是可以更改的 idea中新建java web项目,默认src为Sources Root,当然也可以手动改,在Sources Root下右键只能新建Pa ...
- 将 java 项目打包成可运行的 jar 包(main 函数带参数),并上传到 linux 服务器上运行
一.概述 java项目有两种架构,一种是 B/S 架构的,一种是 C/S 架构的. 对于 B/S 架构来说,我们常见的 java ee 即是 B/S 架构,通常,开发人员会在本地进行开发,然后将项目打 ...
- 像Maven一样构建java项目的目录,更好的管理java工程的源码
都知道maven具有管理Java或者Javaweb的功能.我个人尤其看中的是其代码层次的分离.不同的代码在不同的文件夹下.这是在eclipse新建一个普通的工程无法实现的.而如果用maven实现有时候 ...
- 用Ant实现Java项目的自动构建和部署
原文地址:http://tech.it168.com/j/2007-11-09/200711091344781.shtml 本文请勿转载! Ant是一个Apache基金会下的跨平台的构 ...
- 【dubbo】dubbo项目基本结构及provider构建
dubbo项目基本结构如下,分别部署于不同服务器: 1.provider(接口API 实现) 2.consumer(web) 3.zookeeper 4.DB provider构建 1.api构建 i ...
- 使用maven编译Java项目 http://www.tuicool.com/articles/YfIfIrq
使用maven编译Java项目 时间 2014-07-17 17:42:37 Way Lau's Blog 原文 http://www.waylau.com/build-java-project- ...
随机推荐
- New Concept English Two 17 43
$课文41 你把那个叫帽子吗? 422. 'Do you call that a hat?' I said to my wife. “你把那个叫帽子吗?”我对妻子说. 423. 'You needn ...
- jenkins轻松玩玩远程windows的进程
飞测说:在持续集成的路上走了小半年,遇到的一些问题,今天来说一个折腾好几天的问题,和大家交流.我们都知道C#语言开发的,部署站点在IIS上,但是用持续集成的时候,发现经常因为w3wp进程导致文件无法覆 ...
- [转] .net软件反编译笔记
原文地址:http://blog.csdn.net/three_bird/article/details/51433734 在软件的破解及源码获取及重新编译的道路上会遇到一些问题,书此备查. 大名鼎鼎 ...
- 《Java技术》预备作业总结
Java预备作业总结 第一次的博客作业完成了,对于一种崭新的形式,大家可能还不太适应,学习和借鉴好的理念和学习方式,是我们缩小差距.提升自己的第一步. 关于你期望的师生关系 从幼儿园到大学,大家接触到 ...
- vue music-抓取歌单列表数据(渲染轮播图)
下载安装新依赖 babel-runtime:对es6语法进行转译 fastclick:对移动端进行点击300毫秒延迟 ,,取消掉 babel-polyfill:API 先添加,在npm install ...
- Linux udhcp client (udhcpc) get IP at anytime
/*************************************************************************************** * Linux udh ...
- 常用PHP框架收集
1.ThinkCMFX http://git.oschina.net/thinkcmf/ThinkCMFX 2.ThinkPHP http://www.thinkphp.cn/down.html 3. ...
- oracle之 Oracle归档日志管理
在Oracle中,数据一般是存放在数据文件中,不过数据库与Oracle最大的区别之一就是数据库可以在数据出错的时候进行恢复.这个也就是我们常见的Oracle中的重做日志(REDO FILE)的功能了. ...
- java之 JVM 内存管理详解
一.JVM结构 根据<java虚拟机规范>规定,JVM的基本结构一般如下图所示: 从左图可知,JVM主要包括四个部分: 1.类加载器(ClassLoader):在JVM启动时或者在类运行时 ...
- Web api 访问HttpContext
HttpContext context; Request.Properties.TryGetValue<HttpContext>("MS_HttpContext", o ...