如何将“WEB-INF/lib”文件夹移动到 Java 动态 Web 应用程序中的子文件夹?
Posted
技术标签:
【中文标题】如何将“WEB-INF/lib”文件夹移动到 Java 动态 Web 应用程序中的子文件夹?【英文标题】:How to move "WEB-INF/lib" folder to a sub folder in a Java Dynamic Web App? 【发布时间】:2013-01-08 16:56:54 【问题描述】:如何在 Eclipse 中配置 Java 动态 Web 项目,使 WEB-INF/lib 文件夹位于子文件夹中?
例如,假设我希望我的“lib”文件夹位于此处:
src/main/webapp/WEB-INF/lib
我的 webapp 根目录在这里:
src/main/webapp/
如何在 Eclipse 中进行配置?我知道我可以“添加 jars”,但我希望将它们组织在我的应用构建路径的“库”部分中的“Web 应用程序库”部分下。
我的尝试:
我尝试通过执行以下操作添加“Web App Libraries”,但它没有检测到我的“src/main/webapp/WEB-INF/lib”文件夹中的 jar:
项目 |属性 | Java 构建路径 |图书馆 |添加库 |网络应用程序库我还确保我的网络应用程序 (src/main/webapp) 的根目录也在我的“构建路径上的源文件夹”中,但没有运气:
项目 |属性 | Java 构建路径 |来源 |构建路径上的源文件夹我知道它可以完成,因为我有另一个项目已配置并运行此配置,但我不确定如何复制配置。
谢谢!
【问题讨论】:
【参考方案1】:事实证明,我可以通过将以下文件添加到我的项目中来实现它:
.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="test1">
<wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
<property name="context-root" value="test1"/>
<property name="java-output-path" value="/test1/build/classes"/>
</wb-module>
</project-modules>
我通过创建一个全新的“动态 Web 项目”发现了这一点:
“文件 | 新建 | 动态 Web 项目” 完成这些步骤,直到您到达最后一个称为“Web 模块”的步骤 在那里我可以为应用程序指定一个“内容目录”,我使用了“src/main/webapp/”。 这生成了一个我喜欢的新项目。然后我在项目文件夹中搜索“src/main/webapp”并在这个xml文件中找到它,我刚刚将它复制到我的项目中,并将所有引用从“test1”更改为我的项目名称,它工作了!注意: 您可能还需要将“Web App Libraries”添加到您的项目中,如我的问题中所述。
【讨论】:
以上是关于如何将“WEB-INF/lib”文件夹移动到 Java 动态 Web 应用程序中的子文件夹?的主要内容,如果未能解决你的问题,请参考以下文章
如何在eclipse中使用Ivy + IvyDE将不同的jar放到lib和web-inf/lib中
如何让maven 将工程依赖的jar 复制到WEB-INF/lib 目录下
使用 Eclipse/Tomcat 自动将 3rd 方 jars 添加到 WEB-INF/lib
如何将 maven 托管依赖项复制到 war\web-inf\lib 中,以便我可以在 Eclipse 中以调试模式运行我的 GWT 2.0 应用程序?