Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/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
Java 在eclipse中使用-parameters选项进行反射_Java_Eclipse_Reflection_Compiler Errors_Javac - Fatal编程技术网

Java 在eclipse中使用-parameters选项进行反射

Java 在eclipse中使用-parameters选项进行反射,java,eclipse,reflection,compiler-errors,javac,Java,Eclipse,Reflection,Compiler Errors,Javac,为了使用java反射获得方法参数名称,我们必须使用“-parameters”选项编译java类,但是当我使用VM参数从eclipse中编译时,控制台中会出现以下错误 无法识别的选项:-参数 错误:无法创建Java虚拟机。 错误:发生致命异常。程序将退出。 我的系统中运行着Java8。我遗漏了什么?问题是这不是一个VM参数。即。;它不是用于java,而是用于javac 在eclipse中,您可以转到: 窗口>首选项>Java>编译器,或 项目>属性>Java编译器 还有一个复选框用于启用“存

为了使用java反射获得方法参数名称,我们必须使用“-parameters”选项编译java类,但是当我使用VM参数从eclipse中编译时,控制台中会出现以下错误

无法识别的选项:-参数
错误:无法创建Java虚拟机。
错误:发生致命异常。程序将退出。

我的系统中运行着Java8。我遗漏了什么?

问题是这不是一个VM参数。即。;它不是用于
java
,而是用于
javac

在eclipse中,您可以转到:

  • 窗口>首选项>Java>编译器,或
  • 项目>属性>Java编译器

还有一个复选框用于启用“存储有关方法参数的信息(可通过反射使用)”,您可以使用它。

问题在于,这不是VM参数。即。;它不是用于
java
,而是用于
javac

在eclipse中,您可以转到:

  • 窗口>首选项>Java>编译器,或
  • 项目>属性>Java编译器

还有一个复选框可以启用“存储有关方法参数的信息(可通过反射使用)”,您可以使用它。

参数不是JVM选项。要将形式参数名存储在特定的.class文件中,从而使反射API能够检索形式参数名,使用-parameters选项将源文件编译到javac编译器。@Hector您能解释一下我如何在eclipse中实现这一点吗?选择菜单:“窗口>首选项>Java>编译器”,您会在“类文件生成”标题下找到几个复选框。parameter不是JVM选项。要将形式参数名存储在特定的.class文件中,从而使反射API能够检索形式参数名,使用-parameters选项将源文件编译到javac编译器中。@Hector您能解释一下我如何在eclipse中实现这一点吗?选择菜单:窗口>首选项>Java>编译器,您将在“类文件生成”标题下找到几个复选框。感谢您的回复,它可以工作。我还想提到的是,由于Method.getParameters()仅在java8中可用,上述复选框即“存储有关方法参数的信息(可通过反射使用)”,在neon中可用。但是我不确定eclipse在以前的版本中是否有这个复选框,但是java必须是Java8以后的版本。我自己使用的是Mars.2,它只需要安装Java1.7。我猜他们是在1.8版本发布后加上的。因此,它甚至可能出现在早期版本中。另外,我检查过了,它在Luna中也可用。但是方法.getParameters()仅在Java1.8中可用。检查文档。感谢您的回复,它很有效。我还想提到的是,由于Method.getParameters()仅在java8中可用,上述复选框即“存储有关方法参数的信息(可通过反射使用)”,在neon中可用。但是我不确定eclipse在以前的版本中是否有这个复选框,但是java必须是Java8以后的版本。我自己使用的是Mars.2,它只需要安装Java1.7。我猜他们是在1.8版本发布后加上的。因此,它甚至可能出现在早期版本中。另外,我检查过了,它在Luna中也可用。但是方法.getParameters()仅在Java1.8中可用。检查一下文件。