Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在gradle中将参数传递给编译器和javadoc_Java_Javadoc_Gradle_Javac - Fatal编程技术网

在gradle中将参数传递给编译器和javadoc

在gradle中将参数传递给编译器和javadoc,java,javadoc,gradle,javac,Java,Javadoc,Gradle,Javac,我试图提供Gradle作为现有项目的替代构建系统。该项目使用了sun.misc.Unsafe,这会导致如下警告: warning: Unsafe is internal proprietary API and may be removed in a future release import sun.misc.Unsafe; 要抑制此警告,请在当前ant脚本中将XDignore.symbol.file作为参数传递给javac和javadoc 为了压制Gradle的这些警告,我不得不求助于我觉

我试图提供Gradle作为现有项目的替代构建系统。该项目使用了
sun.misc.Unsafe
,这会导致如下警告:

warning: Unsafe is internal proprietary API and may be removed in a future release
import sun.misc.Unsafe; 
要抑制此警告,请在当前ant脚本中将XDignore.symbol.file作为参数传递给javac和javadoc

为了压制Gradle的这些警告,我不得不求助于我觉得“肮脏”的黑客,我对此感到不太舒服

apply plugin: 'java'

compileJava {
    // I only managed to get this working when I forked 
    // and passed 'javac' as an executable
    options.compilerArgs << '-XDignore.symbol.file'
    options.fork = true
    options.forkOptions.executable = 'javac'
}


javadoc {
    // These get ignored
    // options.addStringOption('XDignore.symbol.file', null)
    // options.addStringOption('XDignore.symbol.file')

    // This one fails the build - I am assuming it's trying to parse ''
    // options.addStringOption('XDignore.symbol.file')

    // This works, but it's an ugly hack
    options.addStringOption('XDignore.symbol.file', '-quiet')
}

目前看来,这是压制这些特定警告的合理借口。关于Javadoc,请参见-

,以下方法可能有效:

javadoc.options.jflags "-XDignore.symbol.file"

关于Java编译,最好知道最近的Gradle版本(例如1.2)是否仍然需要
options.fork=true
options.forkOptions.executable='javac'
。如果是,请在提交问题。

请始终说明Gradle版本。我已按照建议添加了版本信息。我尝试使用
jFlags
并获得了一个
无法识别的选项:-XDignore.symbol.file
我已升级到Gradle 1.2,我仍然需要
options.fork=true
options.forkOptions.executable='javac'
。我也尝试过1.2版本的jFlags,得到了与1.1版本相同的结果。我将在Gradle论坛上提出这个问题。谢谢你的帮助。
javadoc.options.jflags "-XDignore.symbol.file"