[Eclipse]如何在一个Web(Java EE)项目中引用另一个Java SE项目

时间:2024-04-05 08:53:41

 [Eclipse/MyEclipse]如何在一个Web(Java EE)项目中引用另一个Java SE项目


有时候一个Web项目(JavaEE项目)会依赖于另一个Java SE项目的类库和资源。但又需要随时编辑这个Java SE项目,不方便将其打包为jar。


如下图Web项目(简写为[Web-Project])依赖于pds-fwpds-srv两个子项目。

 [Eclipse]如何在一个Web(Java EE)项目中引用另一个Java SE项目


[Web-Project]中引入子项目的方法:

1.在Build Path中引入子项目

项目名-右键->build path->configure build path->project选项卡->.点击add,引用子项目

[Eclipse]如何在一个Web(Java EE)项目中引用另一个Java SE项目


2. Web Deployment Assembly引用

不过值得注意的是,即使这样,只能保证编译通过,如果在web server上部署运行依然会出错,这里我们还需要把另外两个项目加入部署环境:

2.1WebDeploymentAssembly中引用子项目

右键[Web-Project]->properties,进入如下界面,选择MyEclipse->DeploymentAssembly

[Eclipse]如何在一个Web(Java EE)项目中引用另一个Java SE项目


点击“Add”,在弹出的对话框中选择“Project”,并引入子项目:

[Eclipse]如何在一个Web(Java EE)项目中引用另一个Java SE项目

 

2.2WebDeployment Assembly中引用子项目所依赖的JAR包

如果子项目依赖于一些JAR包,那么需要手工逐个引用这些JAR包。


在“Deployment Assembly”中,点击“Add”:

[Eclipse]如何在一个Web(Java EE)项目中引用另一个Java SE项目


选择“Archives from Workspace”:

[Eclipse]如何在一个Web(Java EE)项目中引用另一个Java SE项目


单击Add,然后逐个引入所依赖的JAR包(注意:子项目依赖的每个JAR包都要加入进来)

 [Eclipse]如何在一个Web(Java EE)项目中引用另一个Java SE项目

[Eclipse]如何在一个Web(Java EE)项目中引用另一个Java SE项目


引入的JAR包,在部署时会被自动复制到WEB-INF/lib/路径下。


注意:

引入JAR包时,要注意避免依赖冲突。例如:Web项目的Struts2框架包含了log4j 2.2的JAR包,此时又引入另一个版本的log4j,就会导致程序在运行时报错。


参考:

http://blog.csdn.net/fullbug/article/details/52911848

http://blog.csdn.net/a942980741/article/details/39990699

http://nixmash.com/java/referencing-java-project-libraries-in-war-with-eclipse/
http://jingyan.baidu.com/article/b2c186c8cc2d70c46ef6fffc.html