执行 mvn clean deploy -Dmaven.test.skip
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.8.2:deploy (default-deploy) on project spring-boot-bmc-api-starter: Deployment failed: repository element was not specified in the POM inside distributionManagement element or in -DaltDeploymentRepository=id::layout::url parameter -> [Help 1]
不知道怎么回事,但是知道原因后,又是如此的简单。
1、当然先 google 了, 也看到了一些 简单,有配置
2、查看 settings.xml, ? 心想 是不是 setting 文件 不对(刚入职的时候,搭项目的时候确实发现setting 文件有问题,难道还有问题?), 先找相关的同事吧 项目 deploy上去。并拿了他的 settting 文件做了比对, 发现并无 异常。
3、尝试到心累,看到 settting 文件中 配置了 多个
原来如此简单,但说不出原理。赶紧温习下!!
3.1 一些常用的命令
mvn -version
mvn depedency:tree 查看依赖情况, ?解决 jar 冲突
3.2 查找路径:
~/.m2/settings.xml
config/settings.xml
3.3 一些常用的配置说明
profile: 打包 环境变量
mvn -P dev
<dependencyManagement>
</dependencyManagement>
1、 在父类中使用,
2、 统一版本号
3、 声明依赖
<dependency></dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
scope:
1) compile 编译。默认。 打入 jar中。
2) test 测试
3) provided 编译和测试 生效 ,不会 打包, 如 servlet
4) runtime 运行时 才有效。 编译时用接口, 如 jdbc 驱动
5) system 本地的一些jar的 引用, 如: 短信 jar
6)import: 解决单继承问题。
依赖传递性:
| compile | Test | Provided | Runtime | |
|---|---|---|---|---|
| Compile | Compile | - | - | Runtime |
| Test | Test | - | - | Test |
| Provided | Provide | - | Provided | Provided |
| Runtime | Runtime | - | - | Runtime |
依赖仲裁:
最短路径原则:
加载先后顺序原则:
3.4 一些插件
统一修改 version的插件:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>2.3</version>
<configuration>
<generateBackupPoms>false</generateBackupPoms>
</configuration>
</plugin>
3.5 生命周期:
? clean --> default --> site
? 生命周期包含 phase,
? phase 包含 goals
clean
pre-clean
clean
post-clean
default:
compile
package
install
deploy
? ....
site
1、温习了 基本的一些配置和使用。
2、插件这块 还没和深入看。
如果有个 需求: 开发一个sdk, 在项目中引用这个sdk, 但想要 sdk中的pom依赖 只在 sdk中生效,在项目中 不生效,但要保证 项目引用sdk能正常运行? 怎么解决??
使用
import 做过尝试,发现 不对。
原文:https://www.cnblogs.com/idea-persistence/p/13405485.html