====== Java arguments ====== GroIMP runs with java. Thus, java can take additional arguments when started. Java arguments are declared in the command line. ===== ===== A typical command to start GroIMP is : > java -jar core.jar --project-tree The command above can be split in two: - the java command and arguments - the GroIMP arguments The additional java arguments are inserted BEFORE the ''-jar core.jar'' argument. ====== ====== In the given example, the java command is ''java -Xverify:none -jar core.jar''. There is two java arguments: - ''-Xverify:none'', this argument is required in versions of GroIMP > 1.6. But not for java >=17. - ''-jar core.jar'', this argument point at the jar file that contains the Main GroIMP classes. Note that depending on how GroIMP is packaged, the name of the .jar file can change. This argument is **always** the last java argument of the command line. Java arguments MUST be given before the argument `-jar core.jar`. All arguments given after are pushed to GroIMP and not to the JVM. A non exhaustive list of common Java arguments used with GroIMP: - ''-Xverify:none'' required for java >1.6 & <17. - ''-Xmx3000m'' set the maximum heap size the JVM have access (here to 3GB). If your projects fail at runtime due to memory issues, you probably want to increase this value. - ''-Xss1m'' set threads stack size limit. Some GroIMP model can require a lot of memory for compilation (when you save or open a model). If your project fails at compilation due to memory issues, you probably need to increase this value. Be careful however, the memory allocated due to this argument is pushed to **all** thread created by GroIMP. Thus, in can lead to huge memory consuption. **Note: if you run GroIMP from Eclipse, the java arguments can be set in the Run Configuration...>x() = Arguments>JVM arguments**