代码之家  ›  专栏  ›  技术社区  ›  Java4Dummies

错误:无法找到或加载主类Xmx1G

  •  6
  • Java4Dummies  · 技术社区  · 7 年前

    这太疯狂了;以前有人见过这个吗?

    java –Xmx1G –Xms1G –XX:+UseG1GC -XX:+PerfDisableSharedMem -jar service-1.0-SNAPSHOT.jar
    Error: Could not find or load main class –Xmx1G
    

    我可以做到:

    java -jar service-1.0-SNAPSHOT.jar –Xmx1G –Xms1G –XX:+UseG1GC -XX:+PerfDisableSharedMem
    

    jmap -heap {PID} 表明它完全忽略了选项。我尝试了不同的变体:

    java –XX:+UseG1GC -jar service-1.0-SNAPSHOT.jar –Xmx1G –Xms1G  -XX:+PerfDisableSharedMem
    java -Xms1G -Xmx1G -jar service-1.0-SNAPSHOT.jar
    java –xx:+useg1gc -jar service-1.0-SNAPSHOT.jar
    java -server –XX::+UseG1GC -jar service-1.0-SNAPSHOT.jar`
    

    我要么得到这个错误: Error: Could not find or load main class {OPTION}

    即使 java -XX:-UseConcMarkSweepGC -jar service-1.0-SNAPSHOT.jar 忽略:

    jmap -heap 5879 
    Attaching to process ID 5879, please wait... 
    Debugger attached successfully. 
    Server compiler detected. 
    JVM version is 25.121-b13
    
    using thread-local object allocation.  
    Parallel GC with 8 thread(s)  
    Heap Configuration:
    
    MinHeapFreeRatio         = 0
    MaxHeapFreeRatio         = 100
    MaxHeapSize              = 4294967296 (4096.0MB)
    NewSize                  = 89128960 (85.0MB)
    MaxNewSize               = 1431306240 (1365.0MB)
    OldSize                  = 179306496 (171.0MB)
    NewRatio                 = 2
    SurvivorRatio            = 8
    MetaspaceSize            = 21807104 (20.796875MB)
    CompressedClassSpaceSize = 1073741824 (1024.0MB)
    MaxMetaspaceSize         = 17592186044415 MB
    G1HeapRegionSize         = 0 (0.0MB)
    

    这是我的JVM:

    java -version
    java version "1.8.0_121"
    Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
    Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
    

    这发生在我的Mac电脑和Alpine Docker图像中。有什么想法吗?

    2 回复  |  直到 7 年前
        1
  •  23
  •   the8472    2 年前

    当您应该使用连字符减号(U+002D)时,您使用了en-dash(U+2013)。

     –Xmx1G # incorrect: en dash
     -Xmx1g # correct: hyphen-minus
    

    这些字符之间的差异可视程度取决于使用的字体。

    Dashes (unicode section)

        2
  •  1
  •   Mohan Raj    7 年前

    JVM参数考虑连字符以考虑JVM参数。如果您使用的是MAC book,则很容易产生幻觉

    连字符,-,在短语中分隔单词,如在最少使用的产品中,用于书籍和其他物品中的换行符。

    em破折号,用于在句子中间用短语one隔开,这不是一个插入语,但它之间的关系不太密切,以至于不能用逗号隔开。它也被用来作为一种停顿,强调句末的一些重要的事情。