安装maven2而不使用openjdk

20

Ubuntu默认安装OpenJDK。我安装了来自Sun的JDK并删除了OpenJDK,但是在使用OpenJDK时必须删除Maven2。如何重新安装Maven2而不安装OpenJDK?

~$ java -version
java version "1.7.0_03"
Java(TM) SE Runtime Environment (build 1.7.0_03-b04)
Java HotSpot(TM) Server VM (build 22.1-b02, mixed mode)

~$ sudo apt-get install maven2
(...)
The following extra packages will be installed:
(...)
openjdk-6-jdk openjdk-6-jre openjdk-6-jre-headless
  openjdk-6-jre-lib
(...)
The following NEW packages will be installed:
(...)
openjdk-6-jdk openjdk-6-jre openjdk-6-jre-headless
  openjdk-6-jre-lib

希望得到任何帮助,我已经搜索了很多但是没有找到任何解决方案 :/

3个回答

33

你可以从Maven官网直接下载tar.gz压缩文件并解压到某个目录,例如(会将其解压到 /opt 目录下):

tar -xzvf apache-maven-3.0.4-bin.tar.gz -C /opt

接下来,您需要设置$M2_HOME变量:

export M2_HOME=<path_to_maven>

并将其添加到 PATH

export PATH=$PATH:$M2_HOME/bin

你可以尝试启动来进行检查:

mvn -version

注意: 如果对所有终端都不起作用, 请按以下步骤操作。 成为超级用户。

执行以下命令。

nano /etc/profile.d/maven.sh

将以下内容复制粘贴到文件中。

export M2_HOME=<path_to_maven>

export PATH=$PATH:$M2_HOME/bin

使用ctrl +O保存并使用ctrl +X退出编辑器。

执行以下命令。

chmod +x /etc/profile.d/maven.sh

source /etc/profile.d/maven.sh

mvn -version

1
这对我来说完美地解决了问题。谢谢!但是对于像我这样的新手,请确保 <path_to_maven> 不包含尾部的 /。这会使我的路径变量看起来像 ...:/opt/apache-maven-3.0.4//bin:...,直到我修复它之前,一些东西都无法正常工作。 - william_grisaitis
2
为了完整起见,可以将设置$M2_HOME$PATH环境变量的2行放入名为/etc/profile.d/maven.sh的文件中,它们将在用户登录到ubuntu时执行(对于所有用户)。因此,每次注销并重新登录后,您都无需再次执行“导出”操作,即可使用mvn命令。 - jbx
谢谢。此外,我使用了 sudo update-alternatives --install /usr/bin/mvn mvn /opt/apache-maven-3.2.3/bin/mvn 1 来设置到 /usr/bin/mvn 的链接。 - g13n

7

对我而言,这个命令可以快速解决同样的问题:

sudo apt-get --no-install-recommends install maven


注:该命令与安装maven相关,为it技术内容。

2
当调用apt-get update并且有新版本的maven可用时,恐怕它会下载openjdk。 - Adam Pierzchała
1
值得注意的是,这将安装maven3。这与OP的问题有微妙的不同。 - Tim
是的,我的目标是Maven3,对我来说还可以,也许我们可以将其更改为“sudo apt-get --no-install-recommends install maven2”。 - AlexKorovyansky
3
将安装以下新软件包: bsh,ca-certificates-java,default-jre,default-jre-headless,junit4, libaether-java,libatk-wrapper-java,libatk-wrapper-java-jni,libbatik-java, libcdi-api-java,libdoxia-java,libfop-java, libgeronimo-interceptor-3.0-spec-java,libmaven-scm-java,libmaven2-core-java, libplexus-bsh-factory-java,libplexus-containers1.5-java,libsisu-ioc-java, libwagon-java,libwagon2-java,maven,openjdk-7-jre,openjdk-7-jre-headless。 - rapt
确实,它会下载openjdk 11。对于那些已经执行了该命令的人,这里是删除它的命令。sudo apt-get autoremove openjdk* sudo apt-get purge openjdk* - Varun

0
通常对于 Google Compute Engine、AWS 或云,下列命令将非常有用:

sudo wget http://www.eu.apache.org/dist/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz

sudo tar -xzvf apache-maven-3.3.9-bin.tar.gz -C /var/lib/

sudo vi /etc/profile.d/maven.sh

将以下内容添加到文件中:

export M2_HOME=/var/lib/apache-maven-3.3.9

export PATH=$PATH:$M2_HOME/bin

保存文件并关闭编辑器。然后执行以下命令退出连接或控制台,并重新登录:

exit

重新连接或登录后,执行以下命令以检查Maven版本

mvn -version

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接