gpt4 book ai didi

java - jar 文件无效或损坏

转载 作者:行者123 更新时间:2023-12-01 17:40:43 25 4
gpt4 key购买 nike

我尝试从 java 项目创建一个 jar 文件,该项目使用一些外部 jar。我创建了一个 lib 文件夹并将我需要的所有 jar 放在那里。

我通过将 lib 文件夹中的所有 jar 添加到构建路径来在 eclipse 中运行该项目,并且工作正常。

当我尝试使用 build.xml 中的 ant 创建 jar 时,看起来没问题,没有显示错误。

当我尝试运行 jar 时,收到消息“无效或损坏的 jarfile”。

在 build.xml 中:我定义了用于编译的路径:

<path id="project.classpath">  
<fileset dir="${lib}">
<include name="**/*.jar"/>
</fileset>
</path>

这是编译的目标:

<target name="compile" depends="init" description="compile the source " >
<!-- Compile the java code from ${src} into ${build} -->
<javac srcdir="${src}" destdir="${build}">
<classpath refid="project.classpath"/>
</javac>
</target>

这是制作 jar 文件的目标:

<target name="dist" depends="compile" description="generate the distribution" >
<mkdir dir="${dist}"/>
<!-- Put everything in ${build} into the MyProject-${DSTAMP}.jar file -->
<jar jarfile="${dist}/MyProject-${DSTAMP}.jar" basedir="${build}">
<manifest>
<attribute name="Main-Class" value="${main}" />
<attribute name="Class-Path:" value="lib/**/*.*"/>
</manifest>
<fileset dir="${src}" includes="images/**/*.*" />
</jar>
<echo file="${dist}/start.bat" message="java -jar MyProject-${DSTAMP}.jar" />
</target>

你能告诉我我做错了什么吗?

最佳答案

首先删除Class-Path:后面的冒号进行匹配

<attribute name="Class-Path" value="lib/**/*.*"/>

那么我建议阅读

HOWTO Create MANIFEST.MF Classpath From Ant或者更好地使用 Manifestclasspath

关于java - jar 文件无效或损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/993007/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com