【问题标题】:Running JavaScript File during Maven LifeCycle在 Maven 生命周期中运行 JavaScript 文件
【发布时间】:2011-09-19 05:47:43
【问题描述】:

之前我在 Maven 生命周期中使用以下命令运行 .sh 和 .rb 文件,

          <plugin>
               <groupId>org.codehaus.mojo</groupId>
               <artifactId>exec-maven-plugin</artifactId>
               <version>1.1</version>
               <executions>
                   <execution>
                       <id>Version Calculation</id>
                       <phase>generate-sources</phase>
                       <goals>
                           <goal>exec</goal>
                       </goals>
                   </execution>
               </executions>
               <configuration>
                     <executable>${basedir}/scripts/IndexRunner/test.rb</executable>
               </configuration>
           </plugin>

现在我想运行一个 .js 文件,我尝试将 test.rb 替换为某个文件 test.js 但它不起作用,任何帮助 如何在 maven 生命周期中运行 javascript 文件

【问题讨论】:

  • 您将在该 javascript 中究竟执行什么?
  • 我需要在那个 JavaScript 文件中运行一些 mongoDB 命令

标签: javascript maven maven-plugin maven-3


【解决方案1】:

您应该使用触发 javascript 文件的 java 类。使用 exec 插件,您可以运行此文件。文件内容是这样的。

import javax.script.*;
public class ExecuteScript {
    public static void main(String[] args) throws Exception {
       // create a script engine manager
       ScriptEngineManager factory = new ScriptEngineManager();
       // create a JavaScript engine
       ScriptEngine engine = factory.getEngineByName("JavaScript");
      // evaluate JavaScript code from String
      engine.eval("print('Welocme to java world')");
      // or call file as you wish
      engine.eval(new java.io.FileReader("welcome.js"));
    }
}

【讨论】:

    【解决方案2】:

    仅供参考,Github 上还有一个用于此任务的 maven 插件(使用 Apache Bean 脚本框架): https://github.com/alexec/script-maven-plugin

    【讨论】:

      猜你喜欢
      • 2020-09-05
      • 1970-01-01
      • 2016-02-18
      • 1970-01-01
      • 2020-02-22
      • 1970-01-01
      • 1970-01-01
      • 2012-11-22
      • 1970-01-01
      相关资源
      最近更新 更多