场景:web工程A依赖另一个java工程B,将B添加进tomcat的classpath仍报找不到类(这个问题算是某些eclipse版本的bug,并不是所有的eclipse上都有的问题,如果你所用的eclipse恰好没有问题,那么可以不用往下看了)
解决思想:将工程B设置为module,每次运行自动打成jar包添加进A工程,即可
1、将web工程A添加进tomcat
此时tomcat中是这样的:aWebProj即为web工程A

2、将B工程设置为utility module

3、打开A工程所在的目录,打开.settings目录,用文本方式打开org.eclipse.wst.common.component这个配置文件:
内容为:
<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
<wb-module deploy-name="aWebProj">
<wb-resource deploy-path="/" source-path="/WebContent" tag="defaultRootSource"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src"/>
<property name="context-root" value="aWebProj"/>
<property name="java-output-path" value="/aWebProj/build/classes"/>
</wb-module>
</project-modules>
添加:(其中aCommon为你模块工程的名字)
<dependent-module archiveName="aCommon.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/aCommon/aCommon">
<dependency-type>uses</dependency-type>
</dependent-module>
修改之后为:
<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
<wb-module deploy-name="aWebProj">
<wb-resource deploy-path="/" source-path="/WebContent" tag="defaultRootSource"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src"/>
<dependent-module archiveName="aCommon.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/aCommon/aCommon">
<dependency-type>uses</dependency-type>
</dependent-module>
<property name="context-root" value="aWebProj"/>
<property name="java-output-path" value="/aWebProj/build/classes"/>
</wb-module>
</project-modules>
4、保存关闭。这时候刷新A工程,重新加载到tomcat中,会是这个样子:

其中aCommon.ja和aCommon/aCommon,根据自己需要引入工程的名字更改一下即可。
2366

被折叠的 条评论
为什么被折叠?



