通过mvn指令进行安装jar包时,总是安装在系统默认路径的解决办法,以及安装jar包时build failure问题解决办法

问题描述:

下图是使用mvn指令进行jar包的安装操作
mvn安装jar包的命令:

mvn install:install-file -Dfile=jar包的位置 -DgroupId=com.iot -DartifactId=mid_sdk -Dversion=1.0.0 -Dpackaging=jar

在这里插入图片描述
问题详情描述:
通过该命令安装它总是安装在系统盘(c盘),我已经设置了本地仓库的路径,且idea中也已经早就设置了路径为自己的路径,但是就是在安装jar包时,它总是给我安装在了默认的c盘路径下

20230906补充问题:
运行命令时,出现build failure问题
在这里插入图片描述
我就直接把这个问题的解决办法补充在这儿了:因为你放jar包的位置不能出现中文路径名,我在把jar包放在了一个没有中文路径名的位置,然后重新写了这个-Dfile=后面的内容,然后运行命令就成功安装了

问题排查:

在idea中设置的本地仓库是我自定义的D盘
在这里插入图片描述
查看mvn -version指令 看自己的mvn指令位置在哪儿 也可以看到在我自己设置的路径下:
在这里插入图片描述

解决办法:

找到自己的maven下的setting.xml文件
/conf/setting.xml
在这里插入图片描述
然后打开这个文件:
<localRepository>加入本地仓库的自定义路径/repository</localRepository>
在这里插入图片描述
成功解决,之后自己再通过mvn指令安装jar的时候就能够安装在自己定义的路径下了

关于最后使用的这个软件是notepad++ 它可查看所有的代码相关文件,且编辑提示非常的清晰

演示安装iTextAsian.jar包

执行命令:

mvn install:install-file -Dfile=D:\*****\intern_dingding\iTextAsian-2.1.7.jar -DgroupId=com.lowagie -DartifactId=iTextAsian -Dversion=2.1.7 -Dpackaging=jar

在这里插入图片描述

### 配置 Jenkins 构建和部署单系统 #### 单系统的定义与需求分析 单系统通常指将应用程序及其依赖打成单一可执行文件或安装的形式。为了实现这一目标,在 Jenkins 中配置构建和部署流程,需考虑以下几个方面: - **源码管理**:确保可以从版本控制系统获取最新代码。 - **环境准备**:创建适合项目技术栈的运行环境。 - **构建过程**:通过脚本自动化编译、测试以及打操作。 - **发布机制**:设计合理的分发策略以便于后续上线。 #### 创建 Jenkins Pipeline 脚本 对于大多数现代 Java 或 Kotlin 项目而言,可以利用 Gradle 或 Maven 这样的构建工具来进行打工作;而对于 C/C++ 类型的应用,则可能更倾向于使用 Makefile 或 CMake 等工具[^1]。下面是一个简单的 Jenkins pipeline 示例用于说明如何针对不同类型的项目实施上述四个阶段的任务: ```groovy pipeline { agent any stages { stage('Checkout') { steps { git 'https://github.com/your-repo.git' } } stage('Prepare Environment'){ when{ expression{ return env.BRANCH_NAME ==~ /(feature|hotfix)/.*} } steps { sh ''' sudo apt-get update && \ sudo apt-get install -y openjdk-8-jdk maven python3-pip ''' } } stage('Build & Test') { parallel { stage('Java Project with Maven') { when{ expression{ return fileExists('pom.xml')} } steps { sh 'mvn clean package' } } stage('C++ Project with CMake') { when{ expression{ return fileExists('CMakeLists.txt')} } steps { dir ('build') { sh ''' cmake .. make all test ''' } } } } } stage('Package Single Artifact') { steps { script { if (fileExists('target/*.jar')) { stash includes: 'target/*.jar', name: 'java-app' } else if(fileExists('*.deb')){ stash includes: '*.deb', name:'cpp-deb-package' } } } } stage('Deploy') { environment { DEPLOY_USER='deployer' SERVER_IP='192.168.1.100' } steps { unstash 'java-app' // or cpp-deb-package based on previous stashing sshPublisher( publishers:[ sshPublisherDesc( configName:"${SERVER_IP}", transfers:[sshTransfer(cleanRemote:true, sourceFiles:'target/*.jar')], usePromotion:false, failOnError:true ) ] ) } } } post { always { junit '**/test-results/**/*.xml' archiveArtifacts artifacts: '**/*.{war,jar}', allowEmptyArchive: true } failure { mail to: "${env.NOTIFY_EMAIL}", subject: "Failed Job ${currentBuild.fullDisplayName}" } } } ``` 此 Groovy 脚本展示了如何在一个典型的 CI 流程中完成从检出仓库到最终部署的过程,并特别关注了单个工件(artifact)的打方式。值得注意的是,实际应用中的具体细节可能会有所不同,取决于所使用的编程语言和技术框架的选择。 #### 提升效率的方法 如果涉及到复杂的多模块工程或是大型企业级解决方案,还可以探索一些额外的技术手段来进一步优化整个流水线的速度和稳定性,比如引入缓存层加速依赖下载速度、采用分布式计算资源池提高并行度等措施。另外,对于 iOS 应用来说,切换至新的 Xcode 编译系统也可以有效缩短构建耗[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿,葱来了-C is coming

老板大气

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值