我有一个 servlet/jsp web 项目,它在 eclipse 上运行良好,并导出为 war 正常(一旦我清理它就是)。WEB-INF\lib
我使项目从文件夹中删除了所有依赖项,除了自制 jar(工作区中另一个项目的输出)。当我运行package
maven 目标时,我会从这个 jar 中收到缺少类的消息:
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
#..... NOTICE THIS COMES FROM A CUSTOM JAR
[ERROR] /C:/path/DataServlet.java:[3,30] package xxx.java.helpers does not exist
现在这已经被问过了,最严格的解决方案似乎是创建一个本地存储库:我可以在不安装它们的情况下将 jars 添加到 maven 2 build classpath 吗?(注意:我在 maven 3)。
我想避免这种情况 - 那么 maven 有什么办法可以将这个罐子塞进jarWEB-INF\lib
中war
?
欢迎使用一些 maven 插件来处理战争中cp
的内容的解决方案WEB-INF\lib
——尽管我只是觉得应该有一个解决方案考虑到这个文件夹的“特殊”性质。
观察:
Alt+F5 删除此行:
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
它对应于 Java 构建路径中的“Web App 库”。所以不仅maven拒绝考虑
WEB-INF\lib
-它还完全打破了eclipse的构建路径。
有关的:
- Maven:如何在 Eclipse 中包含存储库中不可用的 jars?
- 使用 maven eclipse 插件:通过 maven eclipse 插件使用 Eclipse 用户库更新我的类路径- 与 m2e 不兼容
- m2e eclipse插件如何与eclipse交互?- 显然 m2e 检查 pom 然后调用 eclipse 构建器(因此
.classpath
被读取) - 启用 Eclipse maven 的 Web 应用程序引用工作区项目,但在运行 Tomcat 服务器时未部署这些项目
- 将具有依赖关系的 Maven 项目部署到在 Eclipse 中运行的 Tomcat 或 Jboss