Mavenize您的项目jar文件或将它们放入WEB是最好的

我一直在为我的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 (请阅读最后的注释):

     <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-install-plugin</artifactId>
            <executions>
                <execution>
                    <id>install-vegetables</id>
                    <phase>initialize</phase>
                    <goals>
                        <goal>install-file</goal>
                    </goals>
                    <configuration>
                        <file>${project.basedir}/lib/vegetables-1.0.jar</file>
                        <groupId>vegetables</groupId>
                        <artifactId>potatoes</artifactId>
                        <version>1.0</version>
                        <packaging>jar</packaging>
                    </configuration>
                </execution>
                <execution>
                    <id>install-minerals</id>
                    <phase>initialize</phase>
                    <goals>
                        <goal>install-file</goal>
                    </goals>
                    <configuration>
                        <file>${project.basedir}/lib/minerals-1.0.jar</file>
                        <groupId>minerals</groupId>
                        <artifactId>rocks</artifactId>
                        <version>1.0</version>
                        <packaging>jar</packaging>
                    </configuration>
                </execution>
            </executions>
        </plugin>

它的效率要低得多,因为文件一遍又一遍地安装完毕,但比手动创建文件要麻烦得多。 无论如何,我认为你应该试试看。


你所有的依赖应该驻留在本地仓库中。 根据Maven公约/最佳实践,您不应该将jar文件保留在您的项目中。

将您的项目转换为完全基于战争的Maven项目。 这会将所有的依赖关系(jar文件)放在你的webapp的WEB-INF/lib目录下。 因此,您不必担心漫长的道路。


您只需要在pom.xml文件中添加依赖关系,无需手动安装它们。 Maven将下载这些库,并在需要时将其放入本地存储库。 只有当你想使用第三方(自定义)库时,你才可以将它安装到本地存储库中。

链接地址: http://www.djcxy.com/p/29655.html

上一篇: Is it best to Mavenize your project jar files or put them in WEB

下一篇: How to include system dependencies in war built using maven