引用另一个Java项目的Java Web Project


问题内容

我有一个Java Project,现在使用Dynamic Web ProjectEclipse中的为其创建Web界面。该Web项目由一个servlet和两个组成JSP。像这样:

/JavaApplication
  /src
  /lib
  /resources
/WebApplication
  /src
    /Servlet.java
  /WebContent
    /WEB-INF
    index.jsp
    other.jsp

现在,我需要参考JavaApplicationWebApplication,为了使用它的类来处理Web请求。做到这一点的最佳方法是什么?我的想法是创建.jarJavaApplication,包含所有.class文件,/resources以及/libs。这样,我可以将.jar包含在Web应用程序中,并且我可以拥有一个.war包含整个应用程序的文件。

你怎么看?通常如何解决此问题?

注意:我不想将Java项目转换为Web项目。


问题答案:

在Eclipse下,您可以为给定项目(在您的情况下为Web应用程序)声明 项目引用 。为此,请右键单击您的Web应用程序项目,然后转到“ _属性”

“项目引用”,_然后选择该JavaApplication项目。这应该使您可以从中调用JavaApplication项目中的代码,WebApplication而无需构建WAR。这是
开发 的解决方案。

对于标准 部署 (在IDE外部),您确实应该创建一个标准WAR。为此,您必须将JavaApplicationJAR
打包为JAR,包括.class文件和其下的文件,/resources 包括其依赖的库(位于的JAR
/lib)。这些依赖关系实际上将最终存储在WEB-INF/libWAR
的目录中,在您的JAR旁边JavaApplication。这些步骤通常使用AntMaven之类的工具来自动化。