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到对应的分支就会存在自动发布。

我是蚂蚁背大象,文章对你有帮助点赞关注我,文章有不正确的地方请您斧正留言评论~谢谢!

参考文档:

原文:

阅读剩余
THE END