繁体   English   中英

Grunt任务设置JAVA_HOME

[英]Grunt task to set JAVA_HOME

我正在使用grunt-jsdoc来管理jsdoc命令的执行, 命令取决于Java,并且需要设置JAVA_HOME环境变量。 假设它们已经具有node.js和Java,我试图将本地开发人员设置(在Linux或Windows上)限制为:

  1. 检出项目
  2. 运行npm install

我通过使用grunt-shell插件并在jsdoc任务之前运行这样的任务来在Linux上工作:

// left out the part where I don't execute this task if JAVA_HOME already set
shell: {
  getjavahome_linux: {
    command: 'readlink -f /usr/bin/java | sed "s:bin/java::"',
    options: {
      callback: function(err, stdout, stderr, cb) { 
        process.env.JAVA_HOME = stdout; 
        cb(); 
      }
    }
  }
}

但是我找不到Windows的类似命令,更不用说其他平台了。 我的问题:

A)在Grunt中是否有不需要这些特定于平台的命令的更好方法?

要么

B)如果没有,是否有人拥有与上述Linux版本等效的Windows命令?

注意:实际上在shell命令中设置JAVA_HOME不适用于grunt-jsdoc,但是获取输出并设置process.env.JAVA_HOME效果很好。

自grunt-jsdoc版本0.3.3以来,JAVA_HOME env var检查成为一个简单的警告。

从0.5.0版开始,它不再需要Java版本的jdsoc。 它完全可以在node.js上运行

在Windows上,我使用cygwin shell(git-bash版本)运行在其中设置了JAVA_HOME的Grunt ...

但是它应该可以在Windows cmd上运行,我只是试过了:

test.js

console.log(process.env.JAVA_HOME);

CMD.EXE

set JAVA_HOME=D:\path
node test.js

显示路径

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM