Maven--几个需要补充的问题(三)

Maven--搭建开发环境(一)

Maven--构建企业级仓库(二)

Maven—几个需要补充的问题(三)

Maven—生命周期和插件(四)

Maven--多模块依赖实例解析(五)

前两篇由于篇幅太长,为了给读者理解方便,这篇集中解决前两篇遗留下的几个问题,算是对之前的一个补充,大概归纳了一下,总共有四个问题,下面来一一解决。

一、          在第一篇文章中,直接修改config下的setting文件是最佳方式吗?远程仓库配置在pom中,还是setting中?

第一篇中把远程仓库信息直接配置在了config文件夹下的setting中,其实,Maven包括两个setting,一个是我们刚才看到

setting,还有另一个C:\Users\username\.m2\settings.xml,打开eclipse—preferences—Maven—UserSetting就可以看到了。一般情况下,config下的setting作为全局的配置,一个项目组就用这个配置,因此可以把共用的配置放在这个setting中,而C盘下的setting是一个本地的配置,也就是用户自己的配置,可以做一些自定义的配置,据说可以配置用户信息,因此我觉着把远程仓库直接配置在config应该是最佳的方式。

其实远程仓库可以向下图这样,直接配置在pom中的,但是一般不建议这么做,因为pom是针对每个项目的,而setting

针对项目组,对于多项目,配置在setting中再合适不过。

      

二、          Setting中的profile是什么?

构建项目时可能会遇到在测试(如单元测试)、开发、模拟、生产等不同环境下需要不同配置(propertiesxml)或资源

jpgpngmp3)的情况。又或者针对不同的操作系统(如 WindowsLinux)需要为某个配置设定不同的文件路径。可见,在不同的软件开发生命周期阶段、不同的最终客户(用户)环境、不同的运行平台都有可能需要不同配置或资源的情况。因此,用profile来解决此问题,在特定的情况下激活其配置,Mavenprofile有四种激活方式:根据环境自动激活;通过命令行参数激活;配置默认自动激活;配置settings.xml文件 profile激活。由此可见,我们用的是最后一种激活方式,关于激活方式就不多讲了,不然又得需要一篇。http://juvenshun.iteye.com/blog/208714

三、          配置远程仓库中,mirror(镜像)是什么?

举个例子,比如你给张三打电话,发现张三把电话设置了呼叫转移,转到了李四,并且李四能完成张三的功能,因此,这个李四就是张三的一个镜像。第一篇和第二篇都接触了镜像,在这主要说一下第一篇中的镜像,在第一篇中配置的http://127.0.0.1:8080/nexus/content/groups/public/就是所有仓库的镜像,因此,客户端所有的请求都会转发到此地址。该例中<mirrorOf>的值为星号,表示该配置是所有Maven仓库的镜像,如果该镜像仓库需要认证,则配置一个Idpublic<server>即可。为了满足一些复杂的需求,Maven还支持其他的镜像配置:

1.<mirrorOf>*</mirrorOf>:匹配所有远程仓库。

2.<mirrorOf>external:*</mirrorOf>:匹配所有远程仓库,使用localhost的除外,使用file://协议的除外。也就是说,匹配所有不在本机上的远程仓库。

3.<mirrorOf>repo1,repo2</mirrorOf>:匹配仓库repo1repo2,使用逗号分隔多个远程仓库。

4.<mirrorOf>*,!repo1</miiroOf>:匹配所有远程仓库,repo1除外,使用感叹号将仓库从匹配中排除。

需要注意的是,由于镜像仓库完全屏蔽了被镜像仓库,当镜像仓库不稳定或者停止服务的时候,Maven仍将无法访问被镜像仓库,因而将无法下载构件。

四、          第二篇文章讲了如何构建私服,那如何上传自己的构建呢?

这里我就直接引用一位网友的内容了,写的不错,截图也太麻烦,上传自己的构建,也就是往3rdparty(宿主仓库)上传,

所谓自定义构件指的是无法从Maven的中央仓库进行下载的构建。本人在此选用的是最简单方便的手动上传构件(当然上传构件至宿主仓库还有一些方式)。单击3rdparty(宿主仓库)ArtifactUpload选项,我们首先来上传一个基于Maven项目的自定义构件,如下图:


最后别忘记了添加构件:


如果你的构件不是基于Maven的呢?那么你可以选择GAVParameters属性:


按照上述步骤,就成功将自定义构件上传至宿主仓库中了。

利用命令将Jar安装到本地库和部署到远程仓库

http://blog.csdn.net/happyteafriends/article/details/8174110

http://blog.163.com/sir_876/blog/static/117052232012524111138949/

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 对于 spring-boot-maven-plugin 报红的问题,可能是以下原因导致的: 1. 依赖冲突:在 pom.xml 中存在版本不匹配的依赖。 2. 插件版本问题:使用的 spring-boot-maven-plugin 版本与项目的其他依赖版本不兼容。 3. 网络问题Maven 下载依赖时出现网络错误导致无法解析该插件。 建议检查 pom.xml 文件,确保所有依赖版本正确且与 spring-boot-maven-plugin 版本兼容,并确保网络畅通。如果仍然无法解决问题,可以尝试在项目根目录下运行以下命令: ``` mvn clean install ``` 这可以帮助清除缓存并重新下载所有依赖。 ### 回答2: spring-boot-maven-plugin报红问题通常出现在使用Maven构建Spring Boot项目时,项目的pom.xml文件中的spring-boot-maven-plugin插件部分出现了错误。这可能导致构建失败或无法生成可执行的Spring Boot应用程序。通常,这种报红问题可以通过以下几种方式解决: 1. 检查Maven版本:确保你正在使用的Maven版本与项目中所需的Maven版本兼容。更换为正确版本的Maven可能会解决该问题。 2. 清理和生成项目:使用Maven的clean命令清理项目,并重新运行Maven的package命令来重新生成项目。这将强制重新下载和安装所有依赖项,并且可能会解决构建时出现的任何问题。 3. 检查插件配置:检查pom.xml文件中的spring-boot-maven-plugin插件配置是否正确。确保任何必需的属性都已正确设置,并且插件的版本与Spring Boot版本兼容。 4. 引入正确的依赖:确保项目的依赖项中包含正确的Spring Boot依赖项。可以在Spring Boot官方文档中找到最新的依赖项列表,并确保将其添加到项目的pom.xml文件中。 5. 检查Maven仓库:检查Maven仓库中是否包含所需的依赖项。有时,仓库中的某些依赖项可能丢失或不可用,导致插件报红。在这种情况下,可以尝试使用其他可用的Maven仓库或手动下载并安装依赖项。 总之,当遇到spring-boot-maven-plugin报红问题时,需要仔细检查Maven版本、清理和生成项目、插件配置、依赖项以及Maven仓库等方面,以找到解决问题的方法。 ### 回答3: spring-boot-maven-plugin报红问题可能是由于以下原因引起的: 1. 版本不兼容:可能使用的是较新的spring-boot-maven-plugin版本,但是项目中使用的Spring Boot版本较旧,导致报红问题。解决这个问题,可以尝试更新项目中的Spring Boot版本,或者降低spring-boot-maven-plugin的版本以匹配Spring Boot版本。 2. 依赖冲突:可能存在其他依赖与spring-boot-maven-plugin发生冲突,导致报红问题。解决这个问题,可以尝试通过查看依赖树,排查出冲突的依赖,然后进行相应的调整或者排除依赖。 3. 配置错误:可能在配置spring-boot-maven-plugin时存在错误的配置项或参数,导致报红问题。解决这个问题,可以查看对应的插件配置,确保没有错误或者缺少必要的配置项。 4. 缓存问题:可能是由于IDE或者Maven缓存导致的报红问题,可以尝试清除IDE或者Maven的缓存,然后重新构建项目。 在解决这个问题时,可以通过以下步骤进行尝试: 1. 确认Spring Boot和spring-boot-maven-plugin的版本是否匹配,并进行相应的调整。 2. 查看项目的依赖树,检查是否存在冲突的依赖,排除或者调整相关依赖。 3. 检查spring-boot-maven-plugin的相关配置项,确保正确配置。 4. 尝试清除IDE或者Maven的缓存,并重新构建项目。 如果以上步骤都没有解决问题,可以尝试搜索相关错误信息,查找解决方案,或者咨询社区或者开发者论坛,获取更多的帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值