开发环境准备
环境要求
若使用的是物理机,则开发环境所需的最小硬件要求如表1所示。
表 1 最小硬件要求
- AArch64
- x86_64
- LoongArch64
- 支持Arm的64位架构。
- 支持Intel的x86_64位架构。
- 支持LoongArch的64位架构。
若使用的是虚拟机,则开发环境所需的最小虚拟化空间要求如表2所示。
表 2 最小虚拟化空间要求
- AArch64
- x86_64
- LoongArch64
操作系统要求
操作系统要求为openEuler操作系统。
openEuler操作系统具体安装方法请参考安装指南,其中“软件选择”页面的“已选环境的附加选项”中将“开发工具”勾选。
配置openEuler yum源
通过直接获取在线的openEuler repo源配置在线yum源或通过挂载ISO创建本地openEuler repo源配置本地yum源。
通过直接获取在线的openEuler repo源配置在线yum源
说明:
openEuler提供了多种repo源供用户在线使用,各repo源含义可参考系统安装。本操作以AArch64架构的OS repo源为例将其配置为yum源。
进入到yum源目录并查看目录下的.repo配置文件。
$ cd /etc/yum.repos.d $ ls openEuler.repo
在root权限下编辑openEuler.repo文件,将在线的openEuler repo源配置为yum源。
# vi openEuler.repo
编辑openEuler.repo文件的内容如下:
[osrepo] name=osrepo baseurl=http://repo.openeuler.org/openEuler-22.03-LTS/OS/aarch64/ enabled=1 gpgcheck=1 gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS/OS/aarch64/RPM-GPG-KEY-openEuler
说明:
- [repoid]中的repoid为软件仓库(repository)的ID号,所有.repo配置文件中的各repoid不能重复,必须唯一。示例中repoid设置为osrepo。
- name为软件仓库描述的字符串。
- baseurl为软件仓库的地址。
- enabled为是否启用该软件源仓库,可选值为1和0。默认值为1,表示启用该软件源仓库。
- gpgcheck可设置为1或0,1表示进行gpg(GNU Private Guard)校验,0表示不进行gpg校验,gpgcheck可以确定rpm包的来源是有效和安全的。
- gpgkey为验证签名用的公钥。
通过挂载ISO创建本地openEuler repo源配置本地yum源
说明:
openEuler提供了多种ISO发布包,各ISO发布包含义可参考系统安装。本操作以openEuler-22.03_LTS-aarch64-dvd.iso发布包和sha256校验文件为例,请根据实际需要的ISO发布包和校验文件进行修改。
下载ISO发布包。
通过跨平台文件传输工具下载ISO镜像。
登录openEuler社区网站。
单击“下载”。
单击“社区发行版”,显示版本列表。
在版本列表的“openEuler 22.03 LTS”版本处单击“前往下载”按钮,进入openEuler-22.03-LTS版本下载列表。
在对应的系统下载列表中,可以查看系统镜像架构和应用场景。
架构分类如下:
- AArch64:AArch64架构的ISO。
- x86_64:x86_64架构的ISO。
- LoongArch64:LoongArch64架构的ISO。
- ARM32:嵌入式的Image。
场景分类如下:
- 服务器:服务器场景的ISO。
- 边缘计算:边缘计算场景的ISO。
- 云计算:云计算场景的ISO。
- 嵌入式:嵌入式的Image(只有选择AArch64或ARM32架构时,才可选该场景)。
单击“AArch64”,选择AArch64架构。
单击“服务器”,选择服务器场景。
在“软件包类型”栏选择需要的ISO,单击“立即下载”。
单击该ISO对应的完整性校验文件“SHA256”,复制校验值到本地。
登录openEuler操作系统,新建用于存放发布包的目录,如“~/iso”。
$ mkdir ~/iso
使用跨平台文件传输工具(如WinSCP)将本地的openEuler发布包上传到openEuler操作系统。
通过wget命令下载ISO镜像。
登录openEuler社区网站。
单击“下载”。
单击“社区发行版”,显示版本列表。
在版本列表的“openEuler 22.03 LTS”版本处单击“前往下载”按钮,进入openEuler-22.03-LTS版本下载列表。
在对应的系统下载列表中,可以查看系统镜像架构和应用场景。
架构分类如下:
- AArch64:AArch64架构的ISO。
- x86_64:x86_64架构的ISO。
- LoongArch64:LoongArch64架构的ISO。
- ARM32:嵌入式的Image。
场景分类如下:
- 服务器:服务器场景的ISO。
- 边缘计算:边缘计算场景的ISO。
- 云计算:云计算场景的ISO。
- 嵌入式:嵌入式的Image(只有选择AArch64或ARM32架构时,才可选该场景)。
单击“AArch64”,选择AArch64架构。
单击“服务器”,选择服务器场景。
在“软件包类型”栏选择需要的ISO,右键单击“立即下载”,单击“复制链接地址”,将openEuler发布包地址记录好。
单击复制该ISO对应的完整性校验文件“SHA256”,将openEuler校验文件记录好。
登录openEuler操作系统,新建用于存放发布包和检验文件的目录,如“~/iso”,并切换到该目录。
$ mkdir ~/iso $ cd ~/iso
使用wget命令远程下载发布包,命令中的 ipaddriso 为openEuler发布包地址。
$ wget ipaddriso
发布包完整性校验。
计算openEuler发布包的sha256校验值。
$ sha256sum openEuler-22.03-LTS-aarch64-dvd.iso
命令执行完成后,输出校验值。
对比步骤1和复制的校验值是否一致。
如果校验值一致说明iso文件完整性没有被破坏,如果校验值不一致则可以确认文件完整性已被破坏,需要重新获取。
在root权限下使用mount命令挂载镜像文件。
示例如下:
# mount /home/iso/openEuler-22.03_LTS-aarch64-dvd.iso /mnt/
挂载好的mnt目录如下:
. │── boot.catalog │── docs │── EFI │── images │── Packages │── repodata │── TRANS.TBL └── RPM-GPG-KEY-openEuler
其中,Packages为rpm包所在的目录,repodata为repo源元数据所在的目录,RPM-GPG-KEY-openEuler为openEuler的签名公钥。
进入到yum源目录并查看目录下的.repo配置文件。
$ cd /etc/yum.repos.d $ ls openEuler.repo
在root权限下编辑openEuler.repo文件,将3中创建的repo源配置为本地yum源。
# vi openEuler.repo
编辑openEuler.repo文件的内容如下:
[localosrepo] name=localosrepo baseurl=file:///mnt enabled=1 gpgcheck=1 gpgkey=file:///mnt/RPM-GPG-KEY-openEuler
安装软件包
安装开发过程中需要用到的软件。不同的开发需要的软件不一样,但安装方法相同,本章以安装常用的几个软件包(JDK,rpm-build)为例。有些开发软件openEuler操作系统已默认自带,如GCC、GNU make。
安装JDK软件包
执行dnf list installed | grep jdk 查询JDK软件是否已安装。
$ dnf list installed | grep jdk
查看命令打印信息,若打印信息中包含“jdk”,表示该软件已经安装了,则不需要再安装。若无任何打印信息,则表示该软件未安装。
清除缓存。
$ dnf clean all
创建缓存。
$ dnf makecache
查询可安装的JDK软件包。
$ dnf search jdk | grep jdk
查看命令打印信息,选择安装java-x.x.x-openjdk-devel.aarch64软件包。其中x.x.x为版本号。
在root权限下安装JDK软件包,以安装java-1.8.0-openjdk-devel软件包为例。
# dnf install java-1.8.0-openjdk-devel.aarch64
查询JDK软件版本。
$ java -version
查看打印信息,若打印信息中包括“openjdk version "1.8.0_232"”信息,表示已正确安装,其中1.8.0_232为版本号。
安装rpm-build软件包
执行dnf list installed | grep rpm-build 查询rpm-build软件是否已安装。
$ dnf list installed | grep rpm-build
查看命令打印信息,若打印信息中包含“rpm-build”,表示该软件已经安装了,则不需要再安装。若无任何打印信息,则表示该软件未安装。
清除缓存。
$ dnf clean all
创建缓存。
$ dnf makecache
在root权限下安装rpm-build软件包。
# dnf install rpm-build
查询rpm-build软件版本。
$ rpmbuild --version
使用IDE进行Java开发
对于小型的Java程序,可以直接参考“使用JDK编译”章节得到可运行Java应用。但是对于大中型Java应用,这种方式已经无法满足开发者的需求。因此您可以参考如下步骤安装IDE并进行使用,以方便您在openEuler系统上的Java开发工作。
简介
IntelliJ IDEA是一款非常流行的Java IDE,其社区版可以免费下载使用。目前openEuler支持使用IntelliJ IDEA集成开发环境(IDE)进行Java程序的开发,从而可以提升开发人员的工作效率。
使用MobaXterm登录服务器
MobaXterm是一款非常优秀的SSH客户端,其自带X Server,可以轻松解决远程GUI显示问题。
您需要提前下载安装好MobaXterm并打开,然后SSH登录您的服务器并进行以下操作。
设置JDK环境
在设置JAVA_HOME之前您需要先找到JDK的安装路径。在“开发环境准备 > 安装软件包 > 安装JDK软件包”章节中您已经学会了如何安装JDK,如果您还没安装JDK,请提前安装好。
查看java路径,命令如下:
$ which java
/usr/bin/java
查看软链接的实际指向目录,命令如下:
$ ls -la /usr/bin/java
lrwxrwxrwx. 1 root root 22 Mar 6 20:28 /usr/bin/java -> /etc/alternatives/java
$ ls -la /etc/alternatives/java
lrwxrwxrwx. 1 root root 83 Mar 6 20:28 /etc/alternatives/java -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-1.h2.aarch64/jre/bin/java
发现JDK的真实路径为/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-1.h2.aarch64,设置JAVA_HOME和PATH,命令如下:
$ export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-1.h2.aarch64
$ export PATH=$JAVA_HOME/bin:$PATH
下载安装GTK库
运行如下命令:
$ dnf list installed | grep gtk
如果显示gtk2或者gtk3,则表示您已安装该库,可以直接跳过进入下一步,否则需要在root权限下运行如下命令自动下载安装gtk库。
# dnf -y install gtk2 libXtst libXrender xauth
设置X11 Forwarding
切换到sshd配置目录
$ cd ~/.ssh
如果该目录不存在,则创建目录后再进行切换,创建目录命令如下:
$ mkdir ~/.ssh
然后在.ssh目录下编辑config文件并保存:
使用vim打开config文件
$ vim config
将以下内容添加到文件末尾并保存:
Host * ForwardAgent yes ForwardX11 yes
下载并运行IntelliJ IDEA
在执行如上环境配置后,您就可以下载使用IntelliJ IDEA了。鉴于最新版的IntelliJ IDEA和openEuler系统在部分功能上有兼容性问题,建议您从此链接下载2018版本linux压缩包。下载好后把压缩包移到您想要安装该软件的目录,对压缩包进行解压:
$ tar xf ideaIC-2018.3.tar.gz
解压后切换到IntelliJ IDEA的目录下并运行。
$ cd ./idea-IC-183.4284.148
$ bin/idea.sh &