Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在mac上用rm-rf/Library/Java/JavaVirtualMachines/jdkmajor.minor.macro[\u update].jdk卸载jdk 7后,我遇到了一些问题_Java_Macos - Fatal编程技术网

在mac上用rm-rf/Library/Java/JavaVirtualMachines/jdkmajor.minor.macro[\u update].jdk卸载jdk 7后,我遇到了一些问题

在mac上用rm-rf/Library/Java/JavaVirtualMachines/jdkmajor.minor.macro[\u update].jdk卸载jdk 7后,我遇到了一些问题,java,macos,Java,Macos,在mac book pro上用rm-rf/Library/Java/JavaVirtualMachines/jdkmajor.minor.macro[\u update].jdk卸载jdk 7后,我遇到了问题 我还安装了Java8,Intellij运行良好。但是任何运行java版本或mvn的尝试都会出现错误: dyld:无法加载插入的库'/library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home/jre/lib/libjsig.

在mac book pro上用rm-rf/Library/Java/JavaVirtualMachines/jdkmajor.minor.macro[\u update].jdk卸载jdk 7后,我遇到了问题

我还安装了Java8,Intellij运行良好。但是任何运行java版本或mvn的尝试都会出现错误:

dyld:无法加载插入的库'/library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home/jre/lib/libjsig.dylib',因为找不到映像

[1] 1216跟踪陷阱mvn

同时,我可以用IntelliJ构建所有项目

我甚至不能运行vim-我也犯了同样的错误。 所以,我的问题是: 1.卸载JDK的正确方法是什么?
2.在这种情况下,我应该如何恢复系统?

查看您的.bash\u配置文件并尝试查找

export DYLD_INSERT_LIBRARIES=/usr/lib/libSaturnFE.dylib
export DYLD_FORCE_FLAT_NAMESPACE=1
或者类似的东西。这些可能会导致您遇到的问题。 尝试注释它们,然后用

exec bash

看看问题是否仍然存在。

正如mattias在回答中提到的,您的问题源于bash启动文件中的一个命令,该命令告诉bash在尝试运行任何命令之前加载某些动态库

对于当前运行的终端,使用
unset DYLD\u INSERT\u库只能暂时解决此问题。因此,您应该通过首先运行该命令,然后使用
vim
nano
编辑
.bash\u配置文件和
.bashrc
文件来永久解决问题

如果你看到一行写着

export DYLD_INSERT_LIBRARIES=/Library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home/jre/lib/libjsig.dylib
只要拆下这条线。如果它在该库之外插入任何其他库,只需将此特定库从
/library
删除到
libsig.dylib
,包括以下
(如果它是最后一个库,则前面的

退出终端,再次运行,并确保问题已得到解决

您一直遵循的删除JDK的过程是Oracle建议的正确过程。问题是,在该机器的历史记录中,您或使用它的人将该库添加到
DYLD\u INSERT\u LIBRARIES
环境变量中,这导致了问题。此外,这不会影响IntelliJ的原因是它没有通过
bash
运行,因此
bash
命令不会影响它


如果您想删除任何其他Java版本,您应该像以前一样,但是事先确保
DYLD\u INSERT\u库
中没有任何内容引用
/Library/Java/JavaVirtualMachines

您能显示
echo$Java\u HOME
中的输出吗,
echo$PATH
echo$CLASSPATH
?echo$JAVA_HOME显示一条空行echo$PATH显示/usr/bin:/bin:/usr/sbin:/usr/local/bin:/usr/local/git/bin:/Users/andrew/globals/binecho$CLASSPATH shows/Users/andrew/globals/dev/JAVA/lib/JDK16/globalsdb.jarGood。下一步是运行
env | grep DYLD
并告诉我们它找到了什么。exec bash带来了DYLD:无法加载插入的库'/library/Java/JavaVirtualMachines/jdk1.7.055.jdk/Contents/Home/jre/lib/libjsig.dylib',因为找不到图像听起来肯定像是你的.bash_配置文件或.bashrc中出错了。尝试查看你的.bash_档案,查看是否有任何奇怪之处。