问题描述
我使用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