MyEclipse版本:MyEclipse Professional 2014 (Eclipse操作应该也类似)
问题
有时候一个Web项目(JavaEE项目)会依赖于另一个Java SE项目的类库和资源。但又需要随时编辑这个Java SE项目,不方便将其打包为jar。那么如何在Web(Java EE)项目中引用其他的Java SE项目?
解决方法
例如:一个Web(Java EE)项目(简写为[Web-Project])依赖于pds-fw和pds-srv两个Java SE子项目。
前提:需保证所有项目都已导入到当前的Workspace中。
在[Web-Project]中引入子项目的方法如下:
1.在Build Path中引入子项目
项目名-右键->build path->configure build path->project选项卡->.点击add,引用子项目
2. Web Deployment Assembly引用
不过值得注意的是,即使这样,只能保证编译通过,如果在web server上部署运行依然会出错,这里我们还需要把另外两个项目加入部署环境:
2.1在WebDeploymentAssembly中引用子项目
右键[Web-Project]->properties,进入如下界面,选择MyEclipse->DeploymentAssembly
点击“Add”,在弹出的对话框中选择“Project”,并引入子项目:
2.2在WebDeployment Assembly中引用子项目所依赖的JAR包
如果子项目依赖于一些JAR包,那么需要手工逐个引用这些JAR包。
在“Deployment Assembly”中,点击“Add”:
选择“Archives from Workspace”:
单击Add,然后逐个引入所依赖的JAR包(注意:子项目依赖的每个JAR包都要加入进来)
引入的JAR包,在部署时会被自动复制到WEB-INF/lib/路径下。
注意:
引入JAR包时,要注意避免依赖冲突。例如:Web项目的Struts2框架包含了log4j 2.2的JAR包,此时又引入另一个版本的log4j,就会导致程序在运行时报错。
参考文章:
CSDN博客-Eclipse中项目引用关联项目方法及注意事项
Referencing Java Project Libraries in WARs with Eclipse