【发布时间】:2014-05-28 02:48:15
【问题描述】:
我有一个现有的 Java 项目,它本身运行良好。
我创建了一个新的动态 Web 项目并使用 Tomcat 来运行动态 Web 项目。在 Eclipse 中,我选择了 Dynamic Web Project 的构建路径,然后转到 Java Build Path->Projects 并选择现有的 Java Project。
在我的 servlet 中,我可以从现有的 Java 项目中import myPackage.myClass; 并毫无问题地运行 servlet。但是,如果我在该类中使用任何东西,即使是简单的 myClass testclass = new myClass(); 我也会得到 ClassNotFound 异常。
我需要做任何其他事情来调用这个 servlet 并使用这个其他包吗?这两个项目位于完全相同的目录中。
目录结构如下:
父目录/ 我的包裹/ 我的Servlet/
我尝试通过转到Java Build Path->Libraries->Add Class Folder... 并选择项目文件夹来添加类文件夹,但我在对话框中收到错误消息Build path contains duplicate entry:
我以前从未使用过 servlet,也没有使用过多个包,所以我不确定自己做错了什么,或者这是否可行。
【问题讨论】:
-
您是否将 jar 放入具有该 servlet 的
war文件的WEB-INF/lib中?为了更好的可管理性,您可以使用 maven build -
你尝试过清理和构建吗?
-
嘿,您所说的包在哪里,是在 src 还是现有项目中,或者是您尝试将其合并到其中的其他 jar,如果是,请将其添加到 WEB-INF/lib 中并为了安全起见也将其添加到构建中
-
@sanbhat - myPackage 的 jar 文件?还是servlet?我通常只是通过 Eclipse 运行 myPackage 的代码。我需要创建一个 jar 文件供 servlet 使用吗?
-
@user3127499 - servlet 和包都在完全相同的目录中。