我在 Eclipse 上创建了一个动态 Web 应用程序。我使用 M2E 插件将其转换为 maven 项目。我在 pom.xml 中添加了 maven war 插件,以便它可以使用 maven build 为我的项目创建战争。
但是当我进行构建时,它无法编译几个引用我的 webapp/Web-INF/lib 文件夹的 jar 的类。我不能将这些 jar 作为依赖项包含在 pom.xml 中。
我如何告诉 maven 在构建类和创建战争时也包含 Web-INF/lib jar?
我在 Eclipse 上创建了一个动态 Web 应用程序。我使用 M2E 插件将其转换为 maven 项目。我在 pom.xml 中添加了 maven war 插件,以便它可以使用 maven build 为我的项目创建战争。
但是当我进行构建时,它无法编译几个引用我的 webapp/Web-INF/lib 文件夹的 jar 的类。我不能将这些 jar 作为依赖项包含在 pom.xml 中。
我如何告诉 maven 在构建类和创建战争时也包含 Web-INF/lib jar?
这是不正确的做法,你不应该在 WEB-INF/lib 文件夹中手动放置任何 jar。
如果该 jar 在 MAVEN CENTRAL REPO 中不可用,那么您可以下载它并将其安装在您的 NEXUS CENTRAL REPO(如果有的话)中,否则将该 jar 放在您的本地 maven 存储库中并将其作为依赖项添加到您的 pom 文件中. 如果您不想在 WEB-INF/lib 中包含该 jar,则将范围更改为提供,否则将其保留为默认值,即编译。
在构建期间,MAVEN 将首先在您的本地 repo 中查找该特定 jar,如果在那里找不到,则尝试从 Centra Repo 下载。
一旦它在您的本地 repo 中可用,您的构建就不会中断。