抱歉,如果这太微不足道了,但我最近从标准控制台 java 项目跳入了 Wep 应用程序,因为在 java 项目中我成功地使用 maven 下载 jar 并将它们包含到类路径中...在 Web 应用程序中我不知道如何完成相同的工作并下载到 WEB-INF 上的 lib 文件夹,而不是仅仅将 jar 添加到我的类路径中。
我已经在堆栈溢出和谷歌中搜索了答案,但由于我没有找到任何答案,我担心我的方法应该完全错误。
我刚刚在 eclipse 上创建了我的 web 应用程序,然后将其转换为 maven 项目,然后在 pom.xml 中添加了此依赖项,就像我以前在普通 java 项目中所做的那样:
<dependencies>
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.9.1</version>
</dependency>
</dependencies>
一切似乎都正常,并且没有显示错误,但是 jar 没有下载到 WEB-INF/lib 文件夹中。
预先感谢您提供的任何帮助。
最佳答案
如果您的项目正确配置为“Maven 项目”,那么您的包 View 中应该有一个名为“Maven 依赖项”的文件夹。
如果您的项目配置为 Maven 项目,则在顶级文件夹上有一个小“M”是一个很好的提示。
Eclipse 将下载到所谓的“存储库”中。这主要位于 $HOME/.m2
通常你不必直接关心 jars。 Maven 将下载它们并透明地为您创建一个类路径。
eclipse maven 集成称为 m2e
。
存储库的概念是 Maven 的核心。它们是存储依赖项和外部依赖项的地方。您始终可以假设存在两个存储库,一个是已经提到的本地存储库,另一个是所谓的“Maven-Central”see here 。除此之外,您还可以使用 Nexus 或 Artifactory 等工具设置公司范围的存储库。
要在本地存储库中上传依赖项,请使用 mvn install
命令。
mvn install
中的 Maven 正在执行 install lifecycle 。
然后将生成的 Artifact (通常是 jar 或 war,但不一定)和一些元数据(主要是您的 pom)上传到存储库。
然后,您可以通过依赖机制针对这些依赖项进行开发。
本地存储库中安装的依赖项始终为“SNAPSHOT”类型。关于 SNAPSHOT 和 Release(仅版本号)之间的区别以及如何部署/发布它们还有更多需要了解,但这些问题已经被多次提出。
关于java - 无法看到如何告诉 Maven 在 lib 文件夹上安装 jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34777366/