我尝试使用 appassembler-maven-plugin 来简化 Java-Service-Wrapper 的使用
我的设置如下:
- 实现了一个 MyServiceWrapper 类,它从 JSW 扩展 WrapperListner 以完全访问 start/stop/controlEvent-methods
- 将 appassembler-maven-plugin 添加到我的 pom.xml 并配置 JSW
我的服务包装器:
package aaa.bbb.ccc;
import org.tanukisoftware.wrapper.WrapperListener;
import org.tanukisoftware.wrapper.WrapperManager;
public class MyServiceWrapper implements WrapperListener {
@Override
public void controlEvent(int arg0) {
}
@Override
public Integer start(String[] arg0) {
return null;
}
@Override
public int stop(int exitCode) {
return exitCode;
}
public static void main(String[] args) {
WrapperManager.start(new MyServiceWrapper(), args);
}
}
我的 pom.xml 中的 appassembler-maven-plugin:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>appassembler-maven-plugin</artifactId>
<version>1.3.1</version>
<executions>
<execution>
<id>generate-jsw-scripts</id>
<phase>package</phase>
<goals>
<goal>generate-daemons</goal>
</goals>
<configuration>
<!--declare the JSW config -->
<daemons>
<daemon>
<id>MyServiceWrapper</id>
<mainClass>aaa.bbb.ccc.MyServiceWrapper</mainClass>
<platforms>
<platform>jsw</platform>
</platforms>
</daemon>
</daemons>
<target>${project.build.directory}/appassembler</target>
</configuration>
</execution>
</executions>
</plugin>
这会生成 wrapper.conf 和许多其他文件!但是有一条线是错误的,我不知道如何正确生成它。
错误的行是:
wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp
它应该是:
wrapper.java.mainclass=aaa.bbb.ccc.MyServiceWrapper
如果我手动将此行设置为正确提到的行,它就可以工作!
那么:有什么方法可以正确生成这条线?
PS:是否可以从 pom.xml 中设置 JSW 的日志级别?