在开发时,我们会遇到一个需求:模块化。它要求我们把 业务组件进行拆分,分组。把一部分业务功能集中处理,以保证 部分功能块的独立,便于 分配任务到个人,确定人员职责,源代码管理,和发布时重组。

我们尝试把 各个模块的代码放置到不同的java project 中,主工程是一个java web project ,引用多个 子project(这个子project 是一个个的功能块)。

同时 java 的注解,配合spring 给我们带来了 更多的方便性。

网上有朋友提出方法:把子project 打成jar包的形式。这也是一个好办法,不过它适用于 子project 内的代码比较稳定的情况,不适合多次更改,更不适合调试,在实际使用中会特别麻烦。

我们看看如何结构:

1.一个 主 java web project ,主工程,放置 页面,配置文件等

2.多个 子 java project,类库的形式,放置具体的功能块的内容

3.主 web project 引用的多个 子 java project。

我参考这篇文章。http://blog.csdn.net/hfhwfw/article/details/6958218

不过我在实际使用时遇到一些问题,下面是我的一些方法:

1.打开工程,在eclpise中的 主project上,鼠标右键选择 property,进入java build path选项卡

选中projects标签卡,点击 add ,添加 子project

2.进入 libraries选项卡,点击 add class folder按钮,引入刚刚的子project下的bin文件夹

完成后的样子如下图所示:

3.进入 order and export 选项卡,勾选 刚刚的那个 子project 的工程,如下图所示:

4.指定导出 该工程的jar包。这一步非常重要,我折腾N久的。点击左侧的 竖标签卡 选择 Deployment assembly, 点击 add按钮,进入project (这里会列出所有引用过的project)下,选中它。

没有这一步,虽然能通过编译,但在 debug on server或者部署后,都会提示 找不到 class 的情况。

至此,大功告成。

参考:http://blog.csdn.net/hfhwfw/article/details/6958218

在eclpse中 一个web project 引用多个 java project 的方法的更多相关文章

  1. 一个Web Project引用多个Java Project在Eclipse下的配置--转载

    项目结构: 项目由一个Web Project和多个Java Project构成,Web Project需要引用其它Java Project的类和Jar包.开发时用Eclipse3.5和Tomcat调试 ...

  2. 你会在C#的类库中添加web service引用吗?

    本文并不是什么高深的文章,只是VS2008应用中的一小部分,但小部分你不一定会,要不你试试: 本人对于分布式开发应用的并不多,这次正好有一个项目要应用web service,我的开发环境是vs2008 ...

  3. VS2010下创建WEBSERVICE,第二天 ----你会在C#的类库中添加web service引用吗?

    本文并不是什么高深的文章,只是VS2008应用中的一小部分,但小部分你不一定会,要不你试试: 本人对于分布式开发应用的并不多,这次正好有一个项目要应用web service,我的开发环境是vs2008 ...

  4. Project Facets中Dynamic Web Module无法设置2.5的解决方法

    为什么将jre改到1.6,还是无法改变dynamic web module 到2.5啊 解决方法: 在工程目录下有一个.settings文件夹,打开org.eclipse.wst.common.pro ...

  5. eclipse 和 Myeclipse中Maven Web项目出现小红叉的 详细解决方法

    在我们创建maven项目是常会出现小红叉,如图: 解决办法: 1.可以 点击鼠标右键  maven--->update project.一般可以解决. 2.查看 window---->sh ...

  6. web项目引用Java项目,连接报错error HTTP Status 500 - Servlet execution threw an exception

    错误信息 项目背景: 一个web项目引用一个java Project,项目中添加了引用,但是打开页面访问,总报500错误.提示:servlet初始化错误. 环境:Eclipse luna JDK: 1 ...

  7. 一个Web报表项目的性能分析和优化实践(六):设置MySQL的最大连接数(max_connections)

    在上一篇文章中"一个Web报表项目的性能分析和优化实践(二):MySQL数据库连接不够用(TooManyConnections)问题的一次分析和解决案例"提到,项目中新增几个数据库 ...

  8. Spring中获取web项目的根目录

    spring 在 org.springframework.web.util 包中提供了几个特殊用途的 Servlet 监听器,正确地使用它们可以完成一些特定需求的功能; WebAppRootListe ...

  9. 在Word 2007中添加参考文献及其引用的方法

    以前写文章的时候忽略了在文章中添加参考文献及其引用的方式,文章各式显得不太正式,在网上进行了相关搜索,将方法整理如下: 1.将光标停留在需要插入文献的地方[1],选择菜单栏上的"引用 -&g ...

随机推荐

  1. extjs4学习-02-导入相关文件

    在WebContent下创建extjs4目录. 将extjs项目文件中的resource文件夹和ext-all.js.ext-all.js.ext-all-debug.js文件拷贝进去.

  2. nginx 读取文件 permission denied

    nginx 是在root用户下安装的,静态网页的目录/var/www/html/ 目录下的内容所有者也是root 用户,按照 nginx配置文件中location说明 配置静态文件访问地址. 使用网址 ...

  3. python 取整的两种方法

    问题简介: 要把一个浮点数(float)整数部分提取出来.比如把“2.1”变成“2”的这一过程:现在我们给这个过程起一个名字叫“取整”.那么它 在python中大致可以有两种写法 写法1)类型转换: ...

  4. Atitit 我们的devops战略与规划 规范 推荐标准

    Atitit 我们的devops战略与规划 规范 推荐标准 1. Vm容器化1 2. 热部署tomcat+jrebel 或者resin1 3. 增量更新与差异更新1 4. 补丁提取与应用2 为了方便提 ...

  5. Ultraedit使用小技巧

    4. 编辑文件如何加入时间戳 ?F7 快捷键即可.你试试看? 5. 为何拷贝(Copy)/粘贴(Paste)功能不能用了?不怕大家笑话,我有几次使用 UltraEdit的过程中发现拷贝与粘贴的内容是不 ...

  6. vuex入门教程和思考

    Vuex是什么 首先对于vuex是什么,我先引用下官方的解释. Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可 ...

  7. (转)Unity3d使用心得(2):Unity3d 动态下载动画资源——AnimationClip 的使用 - 斯玛特琦

    引言: 在使用 Unity3d 开发微端.或者网页游戏的时候常常须要将资源打包成 AssetBundle ,然后通过 www 的方式动态的下载资源.今天要分享的是我再动态下载 Animation 骨骼 ...

  8. C++11 类型推导auto

    在C++11之前,auto关键字用来指定存储期.在新标准中,它的功能变为类型推断.auto现在成了一个类型的占位符,通知编译器去根据初始化代码推断所声明变量的真实类型.使用auto会拖慢c++效率吗? ...

  9. MediaStore insert bitmap为黑色

    MediaStore.Images.Media.insertImage(mFragmentActivity.getContentResolver(), qrBitmap, "xx券面值10元 ...

  10. 如何在Python之Flask中使用https链接

    [Flask]在Flask中使用HTTPS 转自:http://www.jianshu.com/p/5ea147e03255