在IzPack中使用自定义侦听器时,卸载程序无法启动

时间:2020-07-24 08:44:55

标签: izpack

我正尝试在卸载过程中使用自定义侦听器,但是当我将其添加到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>

有什么想法吗?

0 个答案:

没有答案