我使用 5.0.0-rc4 作为 izpack 版本,izpack-installer
工件作为依赖项存在于我的 pom.xml。
<dependency>
<groupId>org.codehaus.izpack</groupId>
<artifactId>izpack-installer</artifactId>
<version>${izpack.version}</version>
</dependency>
我已经为InstallPanel
定义了一个自定义操作DeletePreviousInstallationAction
。
面板定义包含在安装中.xml如下所示。
<panels>
<panel classname="TargetPanel"/>
<panel classname="UserInputPanel" id="panelUserInput"/>
<panel classname="InstallPanel">
<actions>
<action stage="preconstruct" classname="com.x.y.z.w.DeletePreviousInstallationAction" />
</actions>
</panel>
<panel classname="ProcessPanel"/>
<panel classname="SimpleFinishPanel"/>
</panels>
DeletePreviousInstallationAction
代码:
package com.x.y.z.w;
import com.izforge.izpack.api.data.InstallData;
import com.izforge.izpack.api.data.PanelActionConfiguration;
import com.izforge.izpack.api.handler.AbstractUIHandler;
import com.izforge.izpack.data.PanelAction;
public class DeletePreviousInstallationAction implements PanelAction {
@Override
public void executeAction(InstallData id, AbstractUIHandler auih) {
System.out.println("Intall path: " + id.getInstallPath());
}
@Override
public void initialize(PanelActionConfiguration pac) {
}
}
当我尝试构建安装项目时,我得到失败:找不到类"com.x.y.z.w.DeletePreviousInstallationAction"。为什么会这样?
您很可能在编译过程中缺少它,必须将其添加到"jar"部分以安装 izpack 的 xml,例如:
<jar src="@{jmx4ant:jmx4ant:jar}" stage="both" />