首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >izpack install jar只能在以"izpack“开头的文件夹中工作

izpack install jar只能在以"izpack“开头的文件夹中工作
EN

Stack Overflow用户
提问于 2011-04-26 18:20:14
回答 2查看 2.7K关注 0票数 2

我在我的一个java项目中使用了Maven和izpack-maven-plugin。

我的izpack文件在${basedir}/izpack中。

我的install.xml文件位于${basedir}/src/main/filter中,并在包阶段进行过滤

代码语言:javascript
复制
<resources>
    <resource>
        <filtering>true</filtering>
        <directory>src/main/filter</directory>
        <targetPath>${basedir}/izpack</targetPath>
        <includes>
            <include>install.xml</include>
        </includes>
    </resource>
</resources>

pluginManagement中的插件

代码语言:javascript
复制
<plugin>
    <groupId>org.codehaus.izpack</groupId>
    <artifactId>izpack-maven-plugin</artifactId>
    <version>5.0.0-beta6</version>
</plugin>

构建中的插件

代码语言:javascript
复制
<plugin>
    <groupId>org.codehaus.izpack</groupId>
    <artifactId>izpack-maven-plugin</artifactId>
    <configuration>
        <installFile>${basedir}/izpack/install.xml</installFile>
        <baseDir>${basedir}/izpack</baseDir>
        <installerType>standard</installerType>
    </configuration>
</plugin>

我的install.xml文件很简单(只有一个包收集了3个jars)

当我运行goal izpack:izpack时,一切看起来都很好。

问题是,生成的install jar只有在其名称以"izpack“开头的文件夹中时才能运行。案例1: jar不在"izpack*“文件夹中-双击什么也不做- java - jar返回以下内容

代码语言:javascript
复制
Exception in thread "AWT-EventQueue-0" com.izforge.izpack.api.exception.IzPackException: com.izforge.izpack.api.exception.MergeException: Could not find class TargetPanel : Current classpath is at com.izforge.izpack.installer.bootstrap.InstallerGui$1.run(InstallerGui.java:57)
        at java.awt.event.InvocationEvent.dispatch(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: com.izforge.izpack.api.exception.MergeException: Could not find class TargetPanel : Current classpath is
        at com.izforge.izpack.merge.resolve.ClassPathCrawler.searchClassInClassPath(ClassPathCrawler.java:125)
        at com.izforge.izpack.installer.manager.PanelManager.loadPanelsInContainer(PanelManager.java:72)
        at com.izforge.izpack.installer.base.InstallerController.preloadInstaller(InstallerController.java:30)
        at com.izforge.izpack.installer.bootstrap.InstallerGui$1.run(InstallerGui.java:50)
        ... 8 more

案例2:"izpack*“文件夹中的jar -双击正常运行

有什么想法吗?

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-04-28 21:15:40

我找到了解决此问题的方法。(再次感谢Raghuram为我指路)

我使用1.0-alpha-5版本

代码语言:javascript
复制
<plugin>
    <groupId>org.codehaus.izpack</groupId>
    <artifactId>izpack-maven-plugin</artifactId>
    <version>1.0-alpha-5</version>
</plugin>

必须更改插件使用的属性

代码语言:javascript
复制
<plugin>
    <groupId>org.codehaus.izpack</groupId>
    <artifactId>izpack-maven-plugin</artifactId>
    <configuration>
        <!-- For 1.0-alpha-5 version -->
        <installerFile>${basedir}/target/${project.name}</installerFile>
        <izpackBasedir>${basedir}/izpack</izpackBasedir>
    </configuration>
    <executions>
        <execution>
            <id>izpack</id>
            <phase>package</phase>
            <goals>
                <goal>izpack</goal>
            </goals>
        </execution>
    </executions>
</plugin>
票数 1
EN

Stack Overflow用户

发布于 2011-04-26 18:33:55

你会不会遇到了this的开放izpack bug?

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5788910

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档