私はメモリ内のデータベースサーバを起動および停止するMavenプラグインを実装しています。私は2つのモホスServerStart
とServerStop
を持っています。 ServerStop
では、データベースサーバーのインスタンスを作成し、server.start()
を呼び出して起動します。 ServerStop
Mojoで私はserver.stop()
を呼び出すために同じサーバーインスタンスを取得したいと思います。何とかServerのインスタンスを作成し、それを私のモホスに注入することはできますか?ここで複数のMavenプラグインモジョアでインスタンスを同じインスタンスで共有する方法は?
サンプルコードです:
@MojoGoal("start")
public class StartServerMojo extends AbstractMojo {
//How to instantiate and inject the server here?
private Server server;
public void execute() throws MojoExecutionException {
server.start();
}
}
@MojoGoal("stop")
public class StopServerMojo extends AbstractMojo {
//How to instantiate and inject the server here?
private Server server;
public void execute() throws MojoExecutionException {
server.stop();
}
}
2つの質問を。 1)どのようにあなたのmojosにそれを注入したいですか?たとえば、どこかに設定していますか? 2)私はそのような注釈を見たことがない( '@MojoGoal(" stop ")')。あなたはどこでそれを見つけましたか? :) –
アンドリュー、私はそれを設定していない。それは私の質問です、それをインスタンス化して注入する方法です。アノテーションは、JFrogのMaven Anno Mojo拡張(http://wiki.jfrog.org/confluence/display/OSS/Maven+Anno+Mojo)からのものです。 XDocletアノテーションの代わりにJavaアノテーションを使用することができます。 –
さて、わかりました。サーバーをインスタンス化するためには何をする必要がありますか?私はプログラム的に意味する。 –