当我尝试在Eclipse中运行项目时,为什么不能找到我的VM Argument的路径?

时间:2011-11-19 01:58:43

标签: eclipse virtual-machine java jvm-arguments

我有几个.properties文件,我希望Eclipse能够提取。根据安装ESAPI的说明,它说我可以通过执行以下操作将它们添加到我的项目中:

在Eclipse中我要去Window>偏好> Java>已安装的JRE

从那里我选择我唯一的选项jre7并单击编辑...按钮。

在Default VM Arguments:框中,我输入了以下内容:

-D org.owasp.esapi.resources="c:\.esapi"

然而,当我尝试运行我的项目时,我收到以下错误:

Error: Could not find or load main class org.owasp.esapi.resources=c:\.esapi

即使目录和文件就在那里。我尝试过没有运气的其他地方。有什么想法吗?

更新:当我尝试:

-Dorg.owasp.esapi.resources="c:\.esapi"

我只是得到这个输出,好像它不喜欢使用的选项:

Usage: javaw [-options] class [args...]
           (to execute a class)
   or  javaw [-options] -jar jarfile [args...]
           (to execute a jar file)
where options include:
    -d32      use a 32-bit data model if available
    -d64      use a 64-bit data model if available
    -server   to select the "server" VM
    -hotspot      is a synonym for the "server" VM  [deprecated]
                  The default VM is server.

-cp <class search path of directories and zip/jar files>
-classpath <class search path of directories and zip/jar files>
              A ; separated list of directories, JAR archives,
              and ZIP archives to search for class files.
-D<name>=<value>
              set a system property
-verbose[:class|gc|jni]
              enable verbose output
-version      print product version and exit
-version:<value>
              require the specified version to run
-showversion  print product version and continue
-jre-restrict-search | -no-jre-restrict-search
              include/exclude user private JREs in the version search
-? -help      print this help message
-X            print help on non-standard options
-ea[:<packagename>...|:<classname>]
-enableassertions[:<packagename>...|:<classname>]
              enable assertions with specified granularity
-da[:<packagename>...|:<classname>]
-disableassertions[:<packagename>...|:<classname>]
              disable assertions with specified granularity
-esa | -enablesystemassertions
              enable system assertions
-dsa | -disablesystemassertions
              disable system assertions
-agentlib:<libname>[=<options>]
              load native agent library <libname>, e.g. -agentlib:hprof
              see also, -agentlib:jdwp=help and -agentlib:hprof=help
-agentpath:<pathname>[=<options>]
              load native agent library by full pathname
-javaagent:<jarpath>[=<options>]
              load Java programming language agent, see java.lang.instrument
-splash:<imagepath>
              show splash screen with specified image

有关详细信息,请参阅http://java.sun.com/javase/reference

2 个答案:

答案 0 :(得分:2)

-D org.owasp.esapi.resources="c:\.esapi"
  ^

查看-D与其他人之间的空格?删除它。

  

-Dorg.owasp.esapi.resources = “C:\ ESAPI”

-D后面没有空格,而是直接由您想要定义的内容。

答案 1 :(得分:0)

我不知道为什么,但我可以告诉你Eclipse正在将你的JVM选项-D org.owasp.esapi.resources="c:\.esapi"解释为“主类”......即包含你的public static main方法的类。 / p>

我猜Ecriples(哈哈)在执行JVM时没有识别或遵守-D选项(对于define-symbol)。

我希望其他人可以填写关于Eclipse如何执行JVM的缺失知识。

干杯。基思。