从命令行获取Java合规性级别信息

问题描述

我使用Java 14,并且想为Eclipse写一个自动配置脚本,以防万一我在机器上更新Java。 Eclipse使用以下行来指定认的Java VM:

<vmSettings defaultVM="57,org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType13,1597823290779" defaultVMConnector="">

如您所见,“ defaultVM”属性中的第一个参数是合规性级别,我不知道如何从java命令获取此值(在本例中为“ 57”)。 “ java --version”仅给出“ 14.0.2”,但这不是合规性级别。关于如何在命令行上获得合规性级别还有其他参数吗?然后,我将使用PowerShell命令进行解析和评估。其他命令(例如“ javac”)也可以使用,因为我正在从zip redist软件包中安装OpenJDK。

预先感谢:-)

解决方法

#include <SFML/Graphics.hpp> ... using namespace std; using namespace sf; ... int main () { ... //item Sprites Texture bombTex; bombTex.loadFromFile("images/bomb.png"); Sprite bomb; ... Texture bomb2Tex; bomb2Tex.loadFromFile("images/bomb_2.png"); Sprite bomb_2; ... Texture cakeTex; cakeTex.loadFromFile("images/cake.png"); Sprite cake; ... Texture coffeeTex; coffeeTex.loadFromFile("images/coffee.png"); Sprite coffee; ... Texture chickenTex; chickenTex.loadFromFile("images/chicken.png"); Sprite chicken; ... Texture pizzaTex; pizzaTex.loadFromFile("images/pizza.png"); Sprite pizza; //item array (I made an item array to display & render various items in the game screen.) Sprite item[10]; item[0] = bomb; item[1] = coffee; item[2] = bomb_2; item[3] = chicken; item[4] = pizza; std::vector<Sprite> items; items.push_back(Sprite(item[4])); ... while (window.isOpen()) { ... ... for (size_t i = 0; i < items.size(); i++) { if (humanArr[index].getGlobalBounds().intersects(item[i].getGlobalBounds())) //humanArr[index] is a player Sprite. { ... items.erase(items.begin()); } } ... window.clear(); ... for (size_t i = 0; i < items.size(); i++) { window.draw(item[i]); } ... window.display(); } return 0; } 将显示所有可用值。 java -XshowSettings:all将显示可用选项。也就是说,您仍然需要进行一些翻译。看起来“合规级别”可能对应于java -X(主要)版本:

java.class.version