我正尝试在卸载过程中使用自定义侦听器,但是当我将其添加到install.xml时,我的卸载程序将无法启动。
安装程序正确编译。我有一个Maven多项目,如izpack中的示例。
使用自定义面板时,我没有任何问题。但是,一旦我使用自定义操作,安装程序就不会启动,而当我使用自定义侦听器卸载程序时,就不会启动。
我的poms看起来像这样:
父母
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.myapp</groupId>
<artifactId>superapp</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>Super APP Setup</name>
<properties>
<java.version>8</java.version>
</properties>
<!-- modules -->
<modules>
<module>installer</module>
<module>panels</module>
</modules>
</project>
安装程序依赖项:
<dependencies>
<dependency>
<groupId>org.codehaus.izpack</groupId>
<artifactId>izpack-compiler</artifactId>
<version>${izpack.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.myapp</groupId>
<artifactId>panels</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.ini4j</groupId>
<artifactId>ini4j</artifactId>
<version>0.5.4</version>
</dependency>
</dependencies>
面板pom标头和相关性:
<groupId>com.myapp</groupId>
<artifactId>panels</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>Custom Panels</name>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>org.codehaus.izpack</groupId>
<artifactId>izpack-compiler</artifactId>
<version>${izpack.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.4.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.4.2</version>
<scope>test</scope>
</dependency>
</dependencies>
我认为这是可以的,因为编译器会获取自定义面板和侦听器,并且在编译时不会失败。
我以这种方式使用自定义侦听器:
<listener classname="listeners.CustomListener" stage="uninstall">
<os family="windows"/>
</listener>
有什么想法吗?