是否最好将项目jar文件Maven化或将它们放在WEB-INF / lib中?
我一直在为我的Spring MVC项目需要的所有jar文件执行此操作:
call mvn install:install-file -DgroupId=vegetables -DartifactId=potatoes -Dversion=1.0 -Dfile=vegetables-1.0.jar -Dpackaging=jar -DgeneratePom=true
最近,我必须超出一些限制,你可以在pom.xml
文件中列出多少依赖项,因为我收到一条错误消息:
Your command line is too long
所以我从我的项目不再使用的pom.xml
中删除了一些依赖项,并且我能够再次使用maven运行项目。
我的问题是,我应该将所有jar文件安装到我的Maven存储库中,就像我到目前为止一样吗? 或者我应该将其中一些放入WEB-INF/lib
目录?
这里的最佳做法是什么?
我一直在做与命令行相同的操作,但是通过在我的POM中配置maven-install-plugin
(请阅读最后的注释):
org.apache.maven.plugins maven-install-plugin install-vegetables initialize install-file ${project.basedir}/lib/vegetables-1.0.jar vegetables potatoes 1.0 jar install-minerals initialize install-file ${project.basedir}/lib/minerals-1.0.jar minerals rocks 1.0 jar
它效率低得多,因为文件反复安装,但它比手工制作文件要烦人得多。 无论如何,我认为你应该试一试。
所有依赖项都应驻留在本地存储库下。 根据Maven约定/最佳实践,您不应该在项目中保留jar文件。
将您的项目转换为基于完全战争的Maven项目。 这会将所有依赖项(jar文件)放在webapp的WEB-INF/lib
目录下。 因此,您不必担心长路径。
您只需要在pom.xml文件中添加依赖项,无需手动安装它们。 Maven将下载库并在需要时将其放入本地存储库。 仅当您要使用第三方(自定义)库时,才可以将其安装在本地存储库中。