暖暖相伴 發表於 2023-11-10 17:43:00

银河麒麟系统下maven安装及环境变量设置

<p>1、下载maven并解压</p>
<p>2、麒麟系统中设置apache-maven-3.9.5环境变量<br>  wqz@wqz-pc:~/桌面$ sudo vim /etc/profile&nbsp; --》编辑配置文件<br>  输入密码<br>  export MAVEN_HOME=/home/wqz/apache-maven-3.9.5<br>  export PATH=${MAVEN_HOME}/bin:${PATH}  </p>
<p>  注意:vim编辑器的使用,输入:i键表示进入编辑模式,在文件末尾追加内容,esc键表示退出编辑模式,:键表示进入末行模式,可以输入w+回车键保存编辑内容,</p>
<p>      :+q+回车键退出vim编辑器,进入终端命令界面。</p>
<p>      麒麟系统下环境变量名称用大写字母,环境变量值中引用环境变量名称时以:${环境变量名称}或$环境变量名称,(<em>${PATH} 或 $PATH</em>),环境变量值中的路径分割符为冒号:,</p>
<p>      而win系统下为逗号,。</p>
<p>      设置PATH环境变量时,最后需要加上${PATH},如:export&nbsp;PATH=${MAVEN_HOME}/bin:${PATH}</p>
<p>  wqz@wqz-pc:~/桌面$ source /etc/profile&nbsp;&nbsp;--》保存配置文件<br>  wqz@wqz-pc:~/桌面$ mvn -v&nbsp; &nbsp;&nbsp;--》查看配置是否成功<br>    Apache Maven 3.9.5 (57804ffe001d7215b5e7bcb531cf83df38f93546)<br>    Maven home: /home/wqz/apache-maven-3.9.5<br>    Java version: 17.0.6, vendor: Private Build, runtime: /usr/lib/jvm/java-17-openjdk-arm64<br>    Default locale: zh_CN, platform encoding: UTF-8<br>    OS name: "linux", version: "5.4.18-85-generic", arch: "aarch64", family: "unix"</p>
<p>  wqz@wqz-pc:~/桌面$ echo ${PATH}&nbsp; &nbsp;&nbsp;--》查看特定环境变量</p>
<p>  /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/wqz/apache-maven-3.9.5/bin<em>  </em></p>
<p><em><em><em><em>  终端命令:env&nbsp;<em>&nbsp;   --》查看全部环境变量</em></em></em></em></em></p>
<p><em><em><em><em>  <em>终端命令:<em>printenv&nbsp;<em>&nbsp;  --》查看全部环境变量</em></em></em></em></em></em></em> </p>
<p><em>3、</em>设置本地maven</p>
<p>  在maven/conf目录下,修改setting.xml文件<br>  A、添加:&lt;localRepository&gt;/home/wqz/repository&lt;/localRepository&gt;<br>  B、在mirrors标签下注释掉,否则阿里配置不成功<br>  &lt;!-- &lt;mirror&gt;<br>          &lt;id&gt;maven-default-http-blocker&lt;/id&gt;<br>          &lt;mirrorOf&gt;external:http:*&lt;/mirrorOf&gt;<br>          &lt;name&gt;Pseudo repository to mirror external repositories initially using HTTP.&lt;/name&gt;<br>          &lt;url&gt;http://0.0.0.0/&lt;/url&gt;<br>          &lt;blocked&gt;true&lt;/blocked&gt;<br>      &lt;/mirror&gt;<br>          --&gt;<br>  C、添加阿里镜像地址<br>          &lt;mirror&gt;<br>          &lt;id&gt;aliyunmaven&lt;/id&gt;<br>          &lt;mirrorOf&gt;*&lt;/mirrorOf&gt;<br>          &lt;name&gt;阿里云公共仓库&lt;/name&gt;<br>          &lt;url&gt;https://maven.aliyun.com/repository/public&lt;/url&gt;<br>      &lt;/mirror&gt;</p>
<p><em>4、idea中设置本地maven及仓库:</em></p>
<p><em>  idea--settings--build--build tools--maven--设置maven相关选项--选中override</em><em>  </em></p>
<p>  <img src="https://img2023.cnblogs.com/blog/340253/202311/340253-20231110171541343-1972197468.png" alt="" width="565" height="742" loading="lazy">  </p>
<p>  idea每次创建新项目后,需要通过file-settings--build--build tools--maven设置用户安装的maven选项:<br>    maven home path:/home/wqz/apache-maven-3.9.5<br>    user settings file:/home/wqz/apache-maven-3.9.5/con/settings.xml选择override<br>    local repository:/home/wqz/repository   选择override</p>
<p>5、麒麟系统下,idea项目即使正确设置了maven,很多以来的jar文件无法从中央仓库中下载到本地仓库,造成maven界面中及pom文件中爆红等错误提示,无法编译</p>
<p>  idea--maven--plugins--下对应的jar插件爆红提示:可以从win系统下对应的本地仓库中直接拷贝到麒麟系统下对应仓库即可使用。  </p>
<p>  问题:org.openjfx:javafx-base:jar:linux-aarch64:21.0.1 failed to transfer from https://maven.aliyun.com/repository/public during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of aliyunmaven has elapsed or updates are forced. Original error: Could not transfer artifact org.openjfx:javafx-base:jar:linux-aarch64:21.0.1 from/to aliyunmaven (https://maven.aliyun.com/repository/public): java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: sun.security.ssl.SSLContextImpl$DefaultSSLContext)<br>  问题:org.openjfx:javafx-base:jar:linux-aarch64:21.0.1 failed to transfer from ,<br>  问题:Try to run Maven import with -U flag (force update snapshots)<br>  解决:进入maven仓库官网https://central.sonatype.com查找相应组件如:javafx-base找到对应版本(21.0.1)versions--浏览browse进入对应文件下载页面--下载jar文件,<br>把下载的jar文件复制到maven本地仓库对应目录下:/home/wqz/repository/org/openjfx/javafx-base/21.0.1 即可,在idea-maven-刷新,就不会报红<br>  注意:需要在pom.xml,module-info中引入相应内容<br>  &lt;dependency&gt;<br>  &nbsp;&lt;groupId&gt;org.openjfx&lt;/groupId&gt;<br>  &nbsp;&lt;artifactId&gt;javafx-base&lt;/artifactId&gt;<br>  &nbsp;&lt;version&gt;21.0.1&lt;/version&gt;<br>  &lt;/dependency&gt;<br>  requires javafx.base;</p>
<p>6、麒麟自带openjdk17下,maven--lifecycle--install--成功--plugins--javafx:jlink--成功,运行jar或app时出现prism_es2库资源问题:Loading library prism_es2 from resource failed: java.lang.UnsatisfiedLinkError: /home/wqz/.openjfx/cache/21.0.1+6/aarch64/libprism_es2.so: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /home/wqz/.openjfx/cache/21.0.1+6/aarch64/libprism_es2.so)//java.lang.UnsatisfiedLinkError: /home/wqz/.openjfx/cache/21.0.1+6/aarch64/libprism_es2.so: 等</p>
<p>  <em id="__mceDel"><em id="__mceDel"><em id="__mceDel"><em id="__mceDel"><em id="__mceDel"><em id="__mceDel"><em id="__mceDel"><em id="__mceDel">命令查看GLIBC 2.31版本:ldd --version</em></em></em></em></em></em></em></em></p>
<p><em id="__mceDel"><em id="__mceDel"><em id="__mceDel"><em id="__mceDel"><em id="__mceDel"><em id="__mceDel"><em id="__mceDel"><em id="__mceDel"><em id="__mceDel">  ldd (Ubuntu GLIBC 2.31-0kylin9.1k20.6) 2.31<br>  Copyright (C) 2020 自由软件基金会。</em></em></em></em></em></em></em></em></em></p>
<p>7、麒麟自带openjdk11下,可以正常运行,但提示Gtk-Message: 11:52:00.137: Failed to load module "canberra-gtk-module" 为gtk2.0库问题,</p>
<p>  因为麒麟目前使用gtk3.0代替了gtk2.0,不影响正常程序使用,测试如下:</p>
<p>    终端命令安装gtk2.0库:sudo apt-get install libanberra-gtk-module</p>
<p>    麒麟系统默认查找库从/usr/lib目录查找,所以在/usr/lib目录下建立软连接测试,</p>
<p>    软后通过软连接方式建立文件:sudo ln -s /usr/lib/arrch64-linux-gnu/gtk-2.0/modules/liblibanberra-gtk-module.so&nbsp;&nbsp;/usr/lib/liblibanberra-gtk-module.so&nbsp;</p>
<p>    建立软连接后提示:gtk3.0和gtk2.0同时处理不支持</p>
<p>8、版本支持问题:麒麟自带openjdk11下(<span style="color: rgba(255, 0, 0, 1)">jdk11+jfx17.0.6</span>),不支持最新版本jfx21,(win下(jdk17+jfx21)支持最新版本),eu.hansolo.titlesfx和com.almasb.fxgl.all版本问题;<br>Can't extract module name from countries-17.0.37.jar: Unsupported major.minor version 61.0<br>Can't extract module name from fxgl-io-17.3.jar: Unsupported major.minor version 61.0<br>Can't extract module name from fxgl-entity-17.3.jar: Unsupported major.minor version 61.0<br>Can't extract module name from fxgl-core-17.3.jar: Unsupported major.minor version 61.0<br>Can't extract module name from fxgl-scene-17.3.jar: Unsupported major.minor version 61.0<br>Can't extract module name from heatmap-17.0.27.jar: Unsupported major.minor version 61.0<br>Can't extract module name from toolboxfx-17.0.47.jar: Unsupported major.minor version 61.0<br>Can't extract module name from toolbox-17.0.57.jar: Unsupported major.minor version 61.0<br>Can't extract module name from tilesfx-17.1.31.jar: Unsupported major.minor version 61.0<br>Can't extract module name from fxgl-17.3.jar: Unsupported major.minor version 61.0<br>Can't extract module name from fxgl-gameplay-17.3.jar: Unsupported major.minor version 61.0<br>  解决:选择对应版本即可:<br>&lt;dependency&gt;<br>&lt;!--         <span style="color: rgba(255, 0, 0, 1)">tilesfx选择对应openjdk11的对应版本</span> --&gt;<br>            &lt;groupId&gt;eu.hansolo&lt;/groupId&gt;<br>            &lt;artifactId&gt;tilesfx&lt;/artifactId&gt;<br>            &lt;version&gt;<span style="color: rgba(255, 0, 0, 1)">11.48</span>&lt;/version&gt;<br>            &lt;exclusions&gt;<br>                &lt;exclusion&gt;<br>                  &lt;groupId&gt;org.openjfx&lt;/groupId&gt;<br>                  &lt;artifactId&gt;*&lt;/artifactId&gt;<br>                &lt;/exclusion&gt;<br>            &lt;/exclusions&gt;<br>      &lt;/dependency&gt;<br>      &lt;dependency&gt;<br>            &lt;!--         <span style="color: rgba(255, 0, 0, 1)">tilesfx选择对应openjdk11的对应版本</span> --&gt;<br>            &lt;groupId&gt;com.github.almasb&lt;/groupId&gt;<br>            &lt;artifactId&gt;fxgl&lt;/artifactId&gt;<br>            &lt;version&gt;<span style="color: rgba(255, 0, 0, 1)">11.17</span>&lt;/version&gt;<br>            &lt;exclusions&gt;<br>                &lt;exclusion&gt;<br>                  &lt;groupId&gt;org.openjfx&lt;/groupId&gt;<br>                  &lt;artifactId&gt;*&lt;/artifactId&gt;<br>                &lt;/exclusion&gt;<br>            &lt;/exclusions&gt;<br>      &lt;/dependency&gt;</p>
<p>&nbsp;</p><br><br>
来源:https://www.cnblogs.com/qingzhen/p/17824687.html
頁: [1]
查看完整版本: 银河麒麟系统下maven安装及环境变量设置