Eclipse Neon忽略了eclipse.ini -vm

时间:2018-05-11 21:53:46

标签: java eclipse

好吧,今天我将Java 10添加到我的Windows 10机器上,它打破了eclipse Neon。我的Neon副本不适用于Java 10,因此我明确要求它在eclipse.ini中使用Java 8。我究竟做错了什么?我很难过。无论我的-vm设置如何,Neon都会继续尝试使用Java 10进行启动。

的eclipse.ini

-startup
plugins/org.eclipse.equinox.launcher_1.3.201.v20161025-1711.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.401.v20161122-1740
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vm
C:\Program Files\Java\jdk1.8.0_121\bin\javaw.exe
-vmargs
-Dosgi.requiredJavaVersion=1.8
-XX:+UseG1GC
-XX:+UseStringDeduplication
-Dosgi.requiredJavaVersion=1.8
-Xms256m
-Xmx1024m
在Neon尝试使用Java 10时失败启动后的

日志输出:

  

!会话2018-05-11 17:25:40.179   ----------------------------------------------- eclipse.buildId = 4.6.3.M20170301-0400 java.version = 10.0.1   java.vendor = Oracle Corporation BootLoader常量:OS = win32,   ARCH = x86_64,WS = win32,NL = en_US命令行参数:-os win32 -ws   win32 -arch x86_64

     

!ENTRY org.eclipse.osgi 4 0 2018-05-11 17:25:42.747!MESSAGE   应用程序错误!STACK 1 org.eclipse.e4.core.di.InjectionException:   java.lang.NoClassDefFoundError:javax / annotation / PostConstruct at   org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:386)

这是我崩溃时从Eclipse获得的消息。 enter image description here

如果我在我的Java8目录路径上更改JAVA_HOME和java bin,Neon将运行。所以它似乎正在读取ini文件中的env vars,这似乎是我对eclipse的vm狩猎程序的理解。

1 个答案:

答案 0 :(得分:2)

将行def arrays1(row, column): return [[None]*column for i in range(row)] def arrays2(row, column): return [[None]*column]*row x = arrays1(2, 2) y = arrays2(2, 2) x[0][0] = 1 y[0][0] = 1 print(x) # [[1, None], [None, None]] print(y) # [[1, None], [1, None]] 向上移动两行,高于--launcher.appendVmargs

请参阅Eclipse Wiki: Eclipse.ini - Specifying the JVM

  

-vm选项必须在 之后 发生其他特定于Eclipse的选项   (例如-vm-product等),但 --launcher.*选项之前,   因为-vmargs之后的所有内容都直接传递给JVM。