当前位置: 首页 > 知识库问答 >
问题:

无法启动用Ant构建的jar文件

丌官炎彬
2023-03-14

我在eclipse中有一个项目,它使用ant来编译和jar类文件和引用的jar。使用eclipse中的默认java builder生成的类文件生成的jar文件工作良好,但是当使用ant编译源代码然后jar结果时,在目标构建上执行java-jar时会出现错误“错误:尝试打开文件时出现意外错误”结果。有人知道我做错了什么吗?下面是构建xml内容。下面是我传递给ant的参数

-dintouchv.srcpath=${intouchv.srcpath}-dintouchv.droppath=${workspace_loc:/intouchvtransferservice/dist}

<project default="create_run_jar" name="Create Runnable Jar for Project InTouchVTransferService">
<!--this file was created by Eclipse Runnable JAR Export Wizard-->
<!--ANT 1.7 is required                                        -->
<property name="Version" value="1.3"></property> 
<tstamp>
    <format property="TODAY" pattern="yyyy-MM-dd HH:mm:ss" />
</tstamp>
<target name="Compile_Source">
    <javac srcdir="${InTouchV.SrcPath}/InTouchVTransferService/src"
                     destdir="${InTouchV.SrcPath}/InTouchVTransferService/bin"
                     classpath="${InTouchV.SrcPath}/lib/AtomClasses.jar"
                     debug="on"
                    includeantruntime="yes"
                    /> 
</target>
<target name="create_run_jar">
    <mkdir dir="${InTouchV.SrcPath}/InTouchVTransferService/bin"/>     
    <jar destfile="${InTouchV.DropPath}/InTouchVTransferClient.jar" filesetmanifest="mergewithoutmain">
        <manifest>
            <attribute name="Main-Class" value="com.emdat.inTouchV.main.Main"/>
            <attribute name="Class-Path" value="."/>
            <section name="common">
                <attribute name="Build-Version" value="${Version}"/>
                <attribute name="Build-Date" value="${TODAY}"/>
                <attribute name="Built-By" value="${user.name}"/>
                <attribute name="JVM Version" value="${java.runtime.name} - ${java.runtime.version}" />
            </section>
        </manifest>
        <fileset dir="${InTouchV.SrcPath}/InTouchVTransferService/bin"/>
        <zipfileset excludes="META-INF/*.SF" src="${InTouchV.SrcPath}/lib/AtomClasses.jar"/>
    </jar>
    <touch file="${InTouchV.DropPath}/Version.txt" />
    <echo file="${InTouchV.DropPath}/Version.txt">${Version}</echo>
</target>
</project>

共有1个答案

华星文
2023-03-14

发现了问题,属性“jvm version”包含一个空格。去掉空格,jar文件可以正确执行。我真的说不出为什么eclipse+ant jar的默认java builder可以使用这个空间,而ant build+ant jar却不行。至少其固定:d

 类似资料:
  • HTSJDK是一个用于访问常见文件格式(如SAM和VCF)的库。我想构建HTSJDK JAR。在文档页面中说我必须为此使用Ant。所以我安装了Ant并运行以下命令: ant htsjdk-jar [javac]用法:javac [javac]use-help获取可能选项列表 生成失败 build.xml文件有问题。这里是文件的开头: 拜托,有人能告诉我该怎么做才能解决这个问题吗?

  • 问题内容: 美好的一天! 我创建了jar文件(使用Netbeans),但无法启动。该项目使用lwjgl库。在我的IDE中,它运行良好。 我使用下一个命令: 答案是: 其他项目(没有此库)可以正常工作。我该如何解决这个错误? 我的清单是: 问题答案: 由于您需要将本地文件放在jar旁边,并通过’-Djava.library.path’参数指向它们,因此它无法按照您当前尝试的方式工作。 如果您只想要一

  • 我创建了一个ant构建文件,将我的java src编译成一个.jar文件。它使用外部jar文件。

  • 问题内容: 我刚刚“继承”了一个Java项目,而不是来自Java背景,有时我会有点迷失。Eclipse用于在开发过程中调试和运行应用程序。我已经通过Eclipse成功创建了一个.jar文件,该文件“包含”了所有必需的外部jar,例如Log4J,xmlrpc- server等。然后可以使用以下命令成功运行此大.jar: 我的下一步是使用Ant(版本1.7.1)自动进行构建,因此我不必参与Eclips

  • 环境:Ubuntu 18Spring开机2.0 JDK 11 当应用程序在IntelliJ中运行时,它会正确执行,但在Spring Bootmaven插件打包文件后读取文件时不会。 PS:该文件确实可以在打包的jar文件中找到!

  • 我正在从我的Eclipse项目中构建一个可运行的JAR,在将其导出为可运行的JAR时,Eclipse提示我提供一个启动配置。 我的问题是,如果我给出一些论点,比如 java-jar测试。jar导入。txt导出。运行这个jar时 它将覆盖导出时给出的启动配置中的参数。