我想通过java代码将-noverify设置为VM参数。我在网上找不到任何资源来帮助解决这个问题。
如果我使用System.setProperty(..,..)
,我应该将什么设置为值或键?
我尝试使用System.property("Xverify","none")
,但这似乎不起作用。
注意:这只是为了运行一些测试用例。由于此问题,我正在关闭字节码验证 - link
谢谢。
答案 0 :(得分:6)
让我在这个答案中总结一下评论。
gulp.task('compileHandlebars', function () {
delete require.cache[require.resolve('./src/layout.json')]
var buildSettings = require('./src/layout.json');
var templateData = buildSettings,
options = {
batch : ['./src/assets/templates/**/*.handlebars']
}
gulp.src('./src/index.handlebars')
.pipe(handlebars(templateData, options))
.pipe(rename('index.html'))
.pipe(cleanhtml())
.pipe(gulp.dest('./dist'))
.pipe(livereload());
});
时。这意味着应用程序生成无效的字节码,当JVM执行它时,结果是不可预测的。例如,JVM可能会像this question一样崩溃。答案 1 :(得分:2)
你需要使用" -Xverify:none"作为vm参数。 建议不要在生产环境中使用-Xverify:none。
对于那些不熟悉字节码验证的人来说,它只是JVM的类加载过程的一部分,它检查代码是否存在某些危险和不允许的行为。您可以(但不应该)通过添加-Xverify:none
在许多JVM上禁用此保护请查看有关使用此标记的副作用的完整详细信息 - https://blogs.oracle.com/buck/entry/never_disable_bytecode_verification_in