ubuntu配置maven?maven安装与配置
大家好,感谢邀请,今天来为大家分享一下ubuntu配置maven的问题,以及和maven安装与配置的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!
Ubuntu终端实现Maven中央仓库包上传全流程配置
在Ubuntu终端中实现Maven中央仓库包上传的全流程配置并不复杂,以下是具体步骤:
首先,确保Maven环境已准备就绪。你需要安装Java Development Kit(JDK),通过运行`java-version`验证安装是否正确。接着,访问Maven官网下载适合的版本,并安装。安装成功后,可以通过执行`mvn-version`来验证Maven配置。
其次,GPG配置是关键环节。在Ubuntu中,由于系统支持,GPG的安装相对顺利,可以通过`sudo apt install gnupg`来完成。配置密钥时,确保使用的重要密钥会被用于后续包的签名,可以通过`gpg--list-secret-keys`查看本地密钥。
接下来,将公钥ID上传到密钥服务器。上传成功后,检查返回确认。然后,配置`.m2/settings.xml`文件,填写上传仓库的账号信息。
终于,到了上传阶段。假设你的项目已准备就绪,例如GitHub上的"liuyueyi/qu…",执行打包和上传命令。然而,可能会遇到未提示GPG密码的上传失败,提示信息提供了线索。StackOverflow上有一个类似问题,其中第二条回答提供了解决方案:`gpg:sign-and-deploy-file-u [你的用户名]-u [你的公钥ID]-p [你的GPG密码]`,执行此命令后,再次尝试上传即可。
通过以上步骤,你就能在Ubuntu终端顺利地将项目包上传到Maven中央仓库了。
Ubuntu20安装maven并切换阿里镜像源
要安装Maven并切换至阿里开源镜像站,请遵循以下步骤。首先,访问阿里巴巴开源镜像站以获取Maven相关资源。
接下来,在终端中运行以下命令以安装Maven:
sudo apt install maven
安装完成后,通过运行“mvn-v”命令来检查Maven版本,确认安装成功。
为了提高Maven的下载速度,建议将镜像源切换至阿里开源站。为此,请定位到以下文件:/usr/share/maven/conf/settings.xml。
文件可能显示只读属性,因此需要调整权限才能进行修改。执行命令:
sudo chmod 644/usr/share/maven/conf/settings.xml
之后,打开文件并修改镜像源设置。具体修改步骤如下:
1.在``元素中,添加或修改阿里开源镜像源的配置信息,如下所示:
<profile>
<id>alimaven</id>
<distributionManagement>
<repository>
<id>aliyun-maven</id>
<url>;
</repository>
</distributionManagement>
</profile>
2.在``元素中,确保至少一个镜像是阿里开源镜像源,例如:
<mirror>
<id>alimaven</id>
<url>;
<mirrorOf>*</mirrorOf>
</mirror>
保存文件并退出编辑。最后,确保Maven能够识别新的镜像源,这通常无需额外操作。
至此,Maven已成功安装并配置为使用阿里开源镜像站。这将显著提高Maven依赖包的下载速度,优化开发效率。
如何使用GitHub Actions自动发布JAR到Maven中央仓库
将Java项目的Jar包发送到Maven中央仓库基本上都是通过本地通过命令 mvn deploy发布。平时很多Java开发者都会把项目放在GitHub上面,那么有没有一种方式在Github上面自动发布?这就是笔者今天要说的Github Actions自动发布JAR到Maven中央仓库。
Tips:想要了解正常情况下如何发布可以看一下笔者的这篇文章《将Jar包发布Maven中央仓库》
1.前提条件
首先你之前通过正常的情况发布过Jar包到Maven中央仓库,这个是前提。
在Github创建一个Maven项目,笔者这里用 rain作为例子
OSSRH账号、密码
2.发布配置2.1创建项目
首先在Github上面创建项目:
然后需要注意增加两个Maven插件:
<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-gpg-plugin</artifactId><version>3.0.1</version><executions><execution><id>sign-artifacts</id><phase>verify</phase><goals><goal>sign</goal></goals><configuration><!-- Prevent `gpg` from using pinentry programs--><gpgArguments><arg>--pinentry-mode</arg><arg>loopback</arg></gpgArguments></configuration></execution></executions></plugin><plugin><groupId>org.sonatype.plugins</groupId><artifactId>nexus-staging-maven-plugin</artifactId><version>1.6.13</version><extensions>true</extensions><configuration><serverId>ossrh</serverId><nexusUrl>;
具体可以参照rain项目的pom。
2.2 GPG信息获取
对于GPG信息首先是你已经存在。信息查看命令:
gpg--list-secret-keys
Tips:不存在参照文章《将Jar包发布Maven中央仓库》生成
执行命令:
gpg-a--export-secret-keys KEYID#例子gpg-a--export-secret-keys 00053070D457FA43EF20B208E9AD13776C3E943D
这里需要保护私钥的密码,然后回出现下面的密文:
上面笔者就截图了一部分,复制需要将BEGIN和END那一行全部复制后续需要配置。
2.3项目配置
配置路径: rain-->Settings-->Secrets-->Actions
2.4配置Github Actions
笔者这里使用的是 action-maven-publish这个Action,在项目下创建如下图文件:
然后编写maven-publish.yml
name: Publish package to the Maven Central Repository and GitHub Packageson:push:branches:- mainjobs:publish:runs-on: ubuntu-latestpermissions:contents: readpackages: writesteps:- uses: actions/checkout@v3- name: Set up Java for publishing to GitHub Packagesuses: actions/setup-java@v3with:java-version:'11'distribution:'adopt'- name: Publish to GitHub Packagesrun:mvn--batch-mode deploy-DskipTests-Prelease-githubenv:GITHUB_TOKEN:${{ secrets.GITHUB_TOKEN}}release:runs-on: ubuntu-18.04steps:- name: Check out Git repositoryuses: actions/checkout@v2- name: Install Java and Mavenuses: actions/setup-java@v1with:java-version: 11- name: Release Maven packageuses: samuelmeuli/action-maven-publish@v1with:maven_profiles:'release-ossrh'maven_args:'-DskipTests'gpg_private_key:${{ secrets.gpg_private_key}}gpg_passphrase:${{ secrets.gpg_passphrase}}nexus_username:${{ secrets.OSSRH_USERNAME}}nexus_password:${{ secrets.OSSRH_TOKEN}}
说明:我上面还增加了发布到Github的。然后保存就行了。action就会自动运行。看一下效果:
执行完成发布后,需要登录到OSSRH close发布的,然后就等待同步到Maven中央仓库。Maven中央仓库查询:
到这里就完成了。后续你每次提交push到对应的分支就会存在自动发布。
我是蚂蚁背大象,文章对你有帮助点赞关注我,文章有不正确的地方请您斧正留言评论~谢谢!
参考文档:
原文: