安装Java

首先

既经在虚拟机上安装了用于开发的操作系统(Lubuntu),所以下一步是要安装Java。由于安装本身可能只需几行代码即可完成,因此我将调查一下目前主流的Java版本。

我曾经了解的是Sun Microsystems的Java和IBM J9。

备忘录

    • VirtualBoxをインストール

 

    • Lubuntuをインストール

VirtualBoxに仮想マシンの作成
仮想マシンにLubuntuをインストール
Lubuntuの設定

Javaをインストール ←この記事はこれ
VSCodeをインストール
Springでアプリをつくる

JRE和JDK

我知道你可能已经知道了,但还是写下来吧。

JRE: Java运行环境
JDK: Java开发工具包

JRE和JDK之间的主要区别在于,JRE是用于执行Java程序的,而JDK是用于开发Java程序的。
简单来说,JDK包含编译器。

接下来,我想尝试Java编程,所以会安装JDK。

版本

目前(2021年2月),最新版本为15。
然而,似乎11版本更常用于开发。
据说这是因为11版本是LTS(长期支持)版本。

Java的LTS版本为8和11。
预计在2021年9月,版本17将被宣布为LTS。
从夏季开始,17版本可能会成为主流。

来自维基百科的「Java」

开放JDK

OpenJDK(Open Java Development Kit)是由OpenJDK社区开发和维护的一个开放源代码的Java开发环境。

自从Java 7起,看起来OpenJDK正在管理源代码仓库。
据说源代码原始库是在https://openjdk.java.net/ 这个网站上进行管理。

Oracle JDK名称のとおりOracleが配布しているJDKです。

AdoptOpenJDKいくつかのスポンサーが提供しているJDK、AWS、IBM、Microsoftとかが入っている。

Amazon Corretto名称のとおり、Amazonが提供しているJDKです。

Amazon(亚马逊网络服务)提供了AdoptOpenJDK和Amazon Corretto两个选项,但是考虑到Amazon Corretto具有更长的支持期限并且包含Amazon的补丁,如果在AWS上使用的话,可能更适合选择Amazon Corretto。

不管怎样,我觉得使用实际运行的Java更好。

OpenJDK和Amazon Corretto都提供.deb扩展名的debian软件包进行分发,可以通过apt进行安装。
AdoptOpenJDK提供.tar.gz的存档文件进行分发,可以通过解压并设置路径进行安装。

安装

JDK是Java开发工具包。

在Lubuntu上安装JDK。
查看通过apt管理的JDK。
sudo apt search ^openjdk-.*-jdk$

$ sudo apt search ^openjdk-.*-jdk$
ソート中... 完了
全文検索... 完了  
openjdk-11-jdk/focal-updates,focal-security 11.0.10+9-0ubuntu1~20.04 amd64
  OpenJDK Development Kit (JDK)

openjdk-13-jdk/focal-updates 13.0.4+8-1~20.04 amd64
  OpenJDK Development Kit (JDK)

openjdk-14-jdk/focal-updates 14.0.2+12-1~20.04 amd64
  OpenJDK Development Kit (JDK)

openjdk-8-jdk/focal-updates,focal-security 8u282-b08-0ubuntu1~20.04 amd64
  OpenJDK Development Kit (JDK)

请安装openjdk-11-jdk。
使用sudo apt install openjdk-11-jdk。

$ sudo apt install openjdk-11-jdk
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
  libcanberra-gtk3-0 libcanberra-gtk3-module
これを削除するには 'sudo apt autoremove' を利用してください。
以下の追加パッケージがインストールされます:
  ca-certificates-java fonts-dejavu-extra java-common libatk-wrapper-java
  libatk-wrapper-java-jni libice-dev libpthread-stubs0-dev libsm-dev libx11-dev
  libxau-dev libxcb1-dev libxdmcp-dev libxt-dev openjdk-11-jdk-headless
  openjdk-11-jre openjdk-11-jre-headless x11proto-core-dev x11proto-dev
  xorg-sgml-doctools xtrans-dev
提案パッケージ:
  default-jre libice-doc libsm-doc libx11-doc libxcb-doc libxt-doc openjdk-11-demo
  openjdk-11-source visualvm fonts-wqy-microhei | fonts-wqy-zenhei
以下のパッケージが新たにインストールされます:
  ca-certificates-java fonts-dejavu-extra java-common libatk-wrapper-java
  libatk-wrapper-java-jni libice-dev libpthread-stubs0-dev libsm-dev libx11-dev
  libxau-dev libxcb1-dev libxdmcp-dev libxt-dev openjdk-11-jdk
  openjdk-11-jdk-headless openjdk-11-jre openjdk-11-jre-headless x11proto-core-dev
  x11proto-dev xorg-sgml-doctools xtrans-dev
アップグレード: 0 個、新規インストール: 21 個、削除: 0 個、保留: 0 個。
267 MB のアーカイブを取得する必要があります。
この操作後に追加で 422 MB のディスク容量が消費されます。
続行しますか? [Y/n] 
取得:1 http://archive.ubuntu.com/ubuntu focal/main amd64 java-common all 0.72 [6,816 B]
取得:2 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 openjdk-11-jre-headless amd64 11.0.10+9-0ubuntu1~20.04 [37.3 MB]
取得:3 http://archive.ubuntu.com/ubuntu focal/main amd64 ca-certificates-java all 20190405ubuntu1 [12.2 kB]
:
<中略>
:
Updating certificates in /etc/ssl/certs...
0 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...

done.
done.

安装完成了。
※由于网络问题,花费了相当长的时间。

我将检查版本。
java -version

$ java -version
openjdk version "11.0.10" 2021-01-19
OpenJDK Runtime Environment (build 11.0.10+9-Ubuntu-0ubuntu1.20.04)
OpenJDK 64-Bit Server VM (build 11.0.10+9-Ubuntu-0ubuntu1.20.04, mixed mode, sharing)

Maven (专业术语的名称)

我将安装Java项目管理工具Maven。
虽然还有类似的工具Gradle,但因为学习成本较高,所以我选择了Maven。
未来可能会也使用Gradle。

我要查看由apt管理的Maven。
请运行sudo apt search ^maven$

$ sudo apt search ^maven$
ソート中... 完了
全文検索... 完了  
maven/focal,focal 3.6.3-1 all
  Java ソフトウェアプロジェクトの管理・包括ツール

安装maven:
sudo apt安装maven。

$ sudo apt install maven
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
  libaopalliance-java libapache-pom-java libatinject-jsr330-api-java
  libcdi-api-java libcommons-cli-java libcommons-io-java libcommons-lang3-java
  libcommons-parent-java libgeronimo-annotation-1.3-spec-java
  libgeronimo-interceptor-3.0-spec-java libguava-java libguice-java
  libhawtjni-runtime-java libjansi-java libjansi-native-java libjsr305-java
  libmaven-parent-java libmaven-resolver-java libmaven-shared-utils-java
  libmaven3-core-java libplexus-cipher-java libplexus-classworlds-java
  libplexus-component-annotations-java libplexus-interpolation-java
  libplexus-sec-dispatcher-java libplexus-utils2-java libsisu-inject-java
  libsisu-plexus-java libslf4j-java libwagon-file-java libwagon-http-shaded-java
  libwagon-provider-api-java
提案パッケージ:
  libaopalliance-java-doc libatinject-jsr330-api-java-doc libservlet3.1-java
  libcommons-io-java-doc libcommons-lang3-java-doc libasm-java libcglib-java
  libjsr305-java-doc libmaven-shared-utils-java-doc liblogback-java
  libplexus-cipher-java-doc libplexus-classworlds-java-doc
  libplexus-sec-dispatcher-java-doc libplexus-utils2-java-doc junit4 testng
  libcommons-logging-java liblog4j1.2-java
以下のパッケージが新たにインストールされます:
  libaopalliance-java libapache-pom-java libatinject-jsr330-api-java
  libcdi-api-java libcommons-cli-java libcommons-io-java libcommons-lang3-java
  libcommons-parent-java libgeronimo-annotation-1.3-spec-java
  libgeronimo-interceptor-3.0-spec-java libguava-java libguice-java
  libhawtjni-runtime-java libjansi-java libjansi-native-java libjsr305-java
  libmaven-parent-java libmaven-resolver-java libmaven-shared-utils-java
  libmaven3-core-java libplexus-cipher-java libplexus-classworlds-java
  libplexus-component-annotations-java libplexus-interpolation-java
  libplexus-sec-dispatcher-java libplexus-utils2-java libsisu-inject-java
  libsisu-plexus-java libslf4j-java libwagon-file-java libwagon-http-shaded-java
  libwagon-provider-api-java maven
アップグレード: 0 個、新規インストール: 33 個、削除: 0 個、保留: 0 個。
9,209 kB のアーカイブを取得する必要があります。
この操作後に追加で 12.1 MB のディスク容量が消費されます。
続行しますか? [Y/n] 
取得:1 http://archive.ubuntu.com/ubuntu focal/universe amd64 libapache-pom-java all 18-1 [4,720 B]
取得:2 http://archive.ubuntu.com/ubuntu focal/universe amd64 libatinject-jsr330-api-java all 1.0+ds1-5 [5,348 B]
取得:3 http://archive.ubuntu.com/ubuntu focal/universe amd64 libgeronimo-interceptor-3.0-spec-java all 1.0.1-4fakesync [8,616 B]
:
<中略>
:
libmaven3-core-java (3.6.3-1) を設定しています ...
maven (3.6.3-1) を設定しています ...
update-alternatives: /usr/bin/mvn (mvn) を提供するために自動モードで /usr/share/maven/bin/mvn を使います

检查版本。
mvn -version。

$ mvn -version
Apache Maven 3.6.3
Maven home: /usr/share/maven
Java version: 11.0.10, vendor: Ubuntu, runtime: /usr/lib/jvm/java-11-openjdk-amd64
Default locale: ja_JP, platform encoding: UTF-8
OS name: "linux", version: "5.8.0-43-generic", arch: "amd64", family: "unix"

总结

当我在调查版本等事项时,耗费了相当多时间。
有些网站不是通过apt管理的,我需要安装最新版本,但在我的环境中,通过apt管理的版本和最新版本看起来并没有太大差别。
基本上,我认为一些版本的差异是无法避免的。

也许最后一部分应该这样说:最好同时安装JDK和Maven,如下所示:sudo apt install openjdk-11-jdk maven

广告
将在 10 秒后关闭
bannerAds