【发布时间】:2021-02-10 20:56:58
【问题描述】:
我正在尝试执行 Makefile 作为我课程的一部分。它分别是 CUP 和 Jflex 中的解析器和词法分析器。在 Windows Powershell 中是不可能的,所以我被建议使用 Linux,我的同事也能够在 Windows 上的 Ubuntu 子系统上运行它。
于是我下载了ubuntu:
https://www.microsoft.com/en-us/p/ubuntu/9nblggh4msv6?activetab=pivot:overviewtab 来自微软商店
然后允许在 Windows 设置中使用 Linux 子系统,但是现在,当我尝试运行时
make 在 bash 中,我收到此错误:
mkdir -p bin
java -jar lib/jflex-1.8.2.jar -d src/ src/Lexer.lex
make: java: Command not found
make: *** [Makefile:10: bin/SC.class] Error 127
你知道这是为什么吗?我的同事在桌面上做了这个,显然是在第一次做 make 之后 当时,bash 询问他是否要安装 JDK 8,并且在 bash 安装之后,它就起作用了。但是现在,当他尝试在他的 Windows 笔记本电脑上执行此操作时,他遇到了和我一样的问题。另请注意,我的机器上安装了 JDK 15
【问题讨论】:
-
WSL 不知道您在 Windows 上安装的任何软件。我认为使用
apt install ...为子系统再次安装它是最简单的。或者,您可以在 WSL 中使用 Windows 的 java.exe,请参阅 superuser.com/q/1216231/652023 -
这正是我的想法,我的同事试图说服我 WSL 将在我的 Windows 上运行,所以它应该能够看到所有安装的应用程序和程序,包括 JDK,@ 987654323@工作?
-
喜欢这样安装java8:
sudo apt updatesudo apt install openjdk-8-jdk
标签: java linux bash ubuntu java-8