Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.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
Eclipse错误“UseStringDuplication”_Eclipse_Ubuntu_Java 7 - Fatal编程技术网

Eclipse错误“UseStringDuplication”

Eclipse错误“UseStringDuplication”,eclipse,ubuntu,java-7,Eclipse,Ubuntu,Java 7,我安装了一个新的Ubuntu 16.04虚拟机,Oracle JDK 7,并下载了最新的Eclipse。但是,当我尝试启动Eclipse时,出现了以下错误: Unrecognized VM option 'UseStringDeduplication' Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Program will exit. Gtk-Message: Gt

我安装了一个新的Ubuntu 16.04虚拟机,Oracle JDK 7,并下载了最新的Eclipse。但是,当我尝试启动Eclipse时,出现了以下错误:

Unrecognized VM option 'UseStringDeduplication'
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.

为什么在新安装时会出现此错误?删除虚拟机选项是个坏主意吗?

,Eclipse网站令人讨厌地忽略了从主页到Eclipse下载链接的任何地方提到它,甚至在Eclipse运行时都没有版本警告。

我在Kubuntu 14.04,Eclipse Neon,
我从.ini文件中删除了-XX:+UseStringDuplication,它对我很有用

我知道,我参加聚会有点晚了。我最近在Mac电脑上发现了这个问题。我把我的月食从火星升级到了氧气,突然我无法启动我的老项目。首先我想,这一定与新的日食有关,这并不完全是错的。因为Oxygen的eclipse.ini文件需要java-1.8

我将java更新为最新的jdk1.8.0_152.jdk,但问题仍然存在,我从eclipse.ini中删除了这些参数,但仍然是一样的,我检查了运行配置,基本上从参数列表中删除了相同的参数。现在我的项目似乎工作得很好。我还需要恢复平台,因为氧气使用e.4平台

从eclipse.ini文件中删除这些参数 选择项目并转到RunAs->Run Configuration…->Arguments检查VM Arguments下的旧配置如果是RCP项目,它可以是产品 删除了VM选项实际上,它们可能更不被识别并应用->运行。
当我在Ubuntu 16.04中安装Java 8和Java 9时,我遇到了同样的错误。我的eclipse版本是Neon。正如所描述的,要启动特定的EclipseIDE,您需要相关的JDK。对于neon来说,它是Java8。因为我使用apt-get安装了java9,所以它是默认的JDK。因此,我必须将默认的JDK更改为Java8

您可以使用检查系统范围内使用的java版本

java -version
`如果您想查看Ubuntu中安装的JDK版本,请在shell中运行下面的命令

sudo  update-java-alternatives --list
然后选择要设置的版本。之后,运行下面的命令

sudo  update-java-alternatives --set [JDK/JRE name e.g. java-8-oracle]

现在再次运行Eclipse。如果版本是冲突的原因,它将立即运行。由Java 8 Update 20中的一项新功能“字符串重复数据消除”引用

这意味着你应该更新nt java 1.8,或者更新20个版本。

我在Ubuntu的Eclipse Oxygen上也遇到了同样的问题

尝试:

检查java版本它已经是1.8.0了,所以根据公认的答案,它应该可以工作。 正在从.ini文件中删除-XX:+UseStringDuplication 还是没有解决问题。然后我看到@Simginer的评论:


在我的例子中,这是为了eclipse氧气。我有一个旧版本的java 8在升级到最新的jdk1.8.0_151时安装了jdk1.8.0_05 并将我的eclipse.ini更新为最新版本,因为它是 在安装过程中,eclipse氧气开始工作

解决方案:

将JDK从1.8.0更新为jdk1.8.0_231,并得到解决。
瞧!我不必在eclipse.ini中更新任何内容。

你知道这样做的后果是什么吗?我知道它是在Java 8更新中添加的,如果你更新Jdk/jvm,它应该可以工作。另外,验证eclipse.ini文件中jvm的路径这只是eclipse.ini中的一个参数:-Dosgi.requiredJavaVersion=1.8在我的例子中,这是针对eclipse的。当我升级到最新的jdk1.8.0_151并更新eclipse.ini以指向最新版本时,我安装了较旧版本的java 8 jdk1.8.0_05,因为它在安装过程中被记录在那里eclipse oxygen开始工作。@Simginer谢谢!这对我有用。我从1.8.0更新到jdk1.8.0ç231,它得到了解决。