举例,我有一个多 module 项目。 父 pom 中声明了 a 、b 、c 三个依赖。模块 A 使用了 ab ,模块 B 使用了 ac 。有没有一个配置,或者命令,能让我下载 abc 这三个依赖。
1
ikas 2023-07-17 21:10:09 +08:00
|
2
NSDont 2023-07-17 23:54:10 +08:00
你参考一下,我之前用来下载依赖的
mvn clean package -Dmaven.test.skip=true mvn dependency:sources mvn dependency:resolve -Dclassifier=javadoc |
3
Xbluer 2023-07-17 23:57:36 +08:00
mvn dependency:go-offline
https://maven.apache.org/plugins/maven-dependency-plugin/go-offline-mojo.html#dependency-go-offline |
4
MrZhangLo OP @Xbluer 构建的机器和实际应用机器不是同一台。 我需要在构建机上打出安装包,这个安装包包含了所有的依赖,之后的处理就交给部署阶段了。
|
5
MrZhangLo OP 之前的描述不够清楚。 我举实际的例子。
项目是一个 maven 多 module 项目。存在 6 个 web 小模块,其中的依赖都差不多。 正常打包,每个模块都会打出自己需要的依赖。 比如 spring-xxx 就要出现 6 次。 现在想减小体积。打包将所有的依赖打入一个目录,然后每个模块排除掉 WEB-INF/lib ,打出不带依赖的 war 包,部署的阶段再将依赖复制到每个 WEB-INF/lib 下。 现在遇到的困难就是,不知道怎么整出一个配置,让我在 mvn clean package 的时候,把父 pom 中的所有依赖打入一个目录中。😫 求指点 |
6
mgzu 2023-07-21 10:37:02 +08:00
```
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>3.6.0</version> <executions> <execution> <phase>package</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <outputDirectory>${project.basedir}/jars</outputDirectory> </configuration> </execution> </executions> </plugin> ``` refs: https://stackoverflow.com/questions/33125899/copy-all-dependencies-jars-from-child-projects-into-parent-project-directory |