如何通过javadoc命令行设置系统属性?是否有类似-D<name>=<value>的参数?
如何通过javadoc命令行设置系统属性
你问的这两个问题其实是关联的——可以通过javadoc命令行设置系统属性,但用法和直接用java命令的-D参数略有不同,需要借助-J前缀来传递JVM参数。
- 首先,javadoc本身是用Java编写的工具,所以要给它的运行JVM设置系统属性,需要用
-J-D<name>=<value>的格式,而不是直接写-D<name>=<value>。直接写-D会被javadoc当成自身的无效选项,导致报错。 - 举个实际例子,如果你想设置中文区域属性来生成适配中文的文档,命令会是这样:
javadoc -J-Duser.country=CN -J-Duser.language=zh -d output-docs src/com/yourpackage/*.java - 这些系统属性会在javadoc运行期间生效,比如一些自定义的doclet或者标签处理器可能会读取这些属性来调整文档生成的逻辑,比如根据语言切换注释模板、调整日期格式等。
- 顺便提一下,除了
-D系统属性,其他JVM级别的参数(比如调整堆内存的-Xmx)也可以用-J前缀传递给javadoc,比如:javadoc -J-Xmx2G -d docs src/**/*.java
如果你之前以为可以直接用-D,可能是混淆了java命令和javadoc/javac这类工具的参数规则——后者需要用-J来转发JVM级别的参数,而前者不需要。
内容的提问来源于stack exchange,提问作者user9452726
相关产品推荐
相关产品推荐

