-1

我是 Mercurial 和 Python 的新手,我正在尝试实现一个扩展,并且想知道如果我在 mercurial.ini 文件中定义了一个钩子,是否可以启动或执行 Java 方法。

假设我有一个 Java 方法:

Java方法

 public class Hello {

      public void doSomething(String str) {
          System.out.println("Hello World");
      }
 }

Mercurial.ini

我知道我们可以这样调用 python 函数:

  precommit = python: d:\workspace\Hello.py:doSomething

但是我们可以通过调用 Java 方法来做类似的事情吗:

  precommit = java: d:\workspace\Hello.java:doSomething

我尝试在上面做,但对我不起作用!

非常感谢!

4

1 回答 1

2

这是可能的,但不是那么简单。Mercurial 不知道如何启动 Java 或如何调用其中的方法。

解决方案是创建一个可执行的 JAR,然后使用以下代码:

precommit = java -jar YourJarFile.jar ...arguments...

作为钩子(没有前缀,钩子应该是系统命令)。

于 2013-10-29T16:28:46.323 回答