打包为Jar时,我的应用程序无法正常运行

时间:2013-05-19 07:06:08

标签: java swing jar

我跟随file > export > runnable jar file创建了我的eclipse java项目的可运行jar文件。当我从eclipse运行我的应用程序时,它工作正常。 enter image description here

但是当我从导出的jar文件中运行它时,我得到了这个。 enter image description here

在构建路径中的订单和导出选项卡中,我已经检查了所需的所有外部罐子。这是创建的ANT脚本。

    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project default="create_run_jar" name="Create Runnable Jar for Project SERVER_SIDE with Jar-in-Jar Loader">
    <!--this file was created by Eclipse Runnable JAR Export Wizard-->
    <!--ANT 1.7 is required                                        -->
    <target name="create_run_jar">
        <jar destfile="C:/Users/nikitha/Desktop/server.jar">
            <manifest>
                <attribute name="Main-Class" value="org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader"/>
                <attribute name="Rsrc-Main-Class" value="Start"/>
                <attribute name="Class-Path" value="."/>
                <attribute name="Rsrc-Class-Path" value="./ mysql-connector-java-5.1.24-bin.jar activation.jar comm.jar jSMS.jar jWAP.jar jWAP-src.jar mailapi.jar servlet.jar forms-1.3.0.jar"/>
            </manifest>
            <zipfileset src="jar-in-jar-loader.zip"/>
            <fileset dir="E:/eclipse juno/workspace/SERVER_SIDE/bin"/>
            <zipfileset dir="E:\eclipse juno\mysql-connector-java-5.1.24" includes="mysql-connector-java-5.1.24-bin.jar"/>
            <zipfileset dir="E:\eclipse juno\jSMS-2.3.2\jSMS-2.3.2\lib" includes="activation.jar"/>
            <zipfileset dir="E:\eclipse juno\jSMS-2.3.2\jSMS-2.3.2\lib" includes="comm.jar"/>
            <zipfileset dir="E:\eclipse juno\jSMS-2.3.2\jSMS-2.3.2\lib" includes="jSMS.jar"/>
            <zipfileset dir="E:\eclipse juno\jSMS-2.3.2\jSMS-2.3.2\lib" includes="jWAP.jar"/>
            <zipfileset dir="E:\eclipse juno\jSMS-2.3.2\jSMS-2.3.2\lib" includes="jWAP-src.jar"/>
            <zipfileset dir="E:\eclipse juno\jSMS-2.3.2\jSMS-2.3.2\lib" includes="mailapi.jar"/>
            <zipfileset dir="E:\eclipse juno\jSMS-2.3.2\jSMS-2.3.2\lib" includes="servlet.jar"/>
            <zipfileset dir="E:\eclipse juno\workspace\SERVER_SIDE" includes="forms-1.3.0.jar"/>
        </jar>
    </target>
</project>

在我的代码中,显示端口的comboBox后,下一步是使用CommPortIdentifier显示可用的串口是否在此步骤中存在问题?因为根据ANT脚本,包括comm.jar。所以它不应该在这里造成问题。

1 个答案:

答案 0 :(得分:1)

我认为可能发生的唯一原因是您正在从一些外部文本文件中填充这些字段,这些文件在Jar执行的运行时期间可能找不到。当您创建Jar文件时,您还必须添加所需的其他相关文件/资源​​。如果由于找不到某些资源而未显示语言下拉列表Swing将不会执行下一条指令以显示容器上的其他内容。

您能提供错误/异常或警告吗?