Java 如何在Eclipse中打包所需的外部库和源

Java 如何在Eclipse中打包所需的外部库和源,java,mysql,eclipse,jar,Java,Mysql,Eclipse,Jar,我现在有一个很烦人的问题 对于一个学校项目(周一到期:()),我必须提交一个.JAR文件,它是一个独立的应用程序,包含源代码 然而,在Eclipse中,我没有找到如何导出源代码,同时包含所需的库 我的构建路径是这样设置的: 当我这样做时: 导出为可运行的JAR文件,程序中的所有内容都可以运行,但JAR中没有源代码 导出为JAR文件时,我可以添加我的源代码,但当我尝试运行JAR文件时,出现以下异常: java.lang.ClassNotFoundException:com.mysql.jdb

我现在有一个很烦人的问题

对于一个学校项目(周一到期:()),我必须提交一个.JAR文件,它是一个独立的应用程序,包含源代码

然而,在Eclipse中,我没有找到如何导出源代码,同时包含所需的库

我的构建路径是这样设置的:

当我这样做时:

  • 导出为可运行的JAR文件,程序中的所有内容都可以运行,但JAR中没有源代码

  • 导出为JAR文件时,我可以添加我的源代码,但当我尝试运行JAR文件时,出现以下异常:

java.lang.ClassNotFoundException:com.mysql.jdbc.Driver

以下是我的设置:

我真的不知道该怎么办,我已经找了好几个小时了,有人能帮我吗

先谢谢你

问候,


Azsde.

简而言之,eclipse不支持直接这样做。这就是为什么大多数人在项目中使用其他工具,如Ant或Maven,而不是依赖IDE

您可以通过以下两种方式之一解决eclipse在runnable jar导出向导中缺少导出源代码选项的问题:

  • 您可以创建一个可运行的jar,然后手动将源文件添加到其中
  • 您可以创建一个包含源文件的普通jar,并向其中添加MANIFEST.MF文件

手动添加源文件 <>这是我通常认为的一个可怕的选择,但由于这是一个家庭作业,有两个缓解因素:

  • 这是一次性的
  • 你的时间不够
如果您既没有时间也没有兴趣了解清单的详细信息,我建议您选择此选项


添加您自己的MANIFEST.MF 您可能已经注意到,即使在导出向导中选择让eclipse生成清单的选项,您的jar文件也不会实际运行。如果打开“普通”jar文件并查看生成的清单文件,它看起来会像这样(对于使用一个第三方库的简单HelloWorld程序):

然而,如果为导出的可运行jar打开清单文件,它看起来更像这样(对于同一个程序):

如您所见,生成的清单文件未能包括对第三方库的支持

在这种情况下,您需要做的是编写自己的清单文件,并将其作为项目中的资源保存。然后执行正常的jar导出,并在向导的最后一页选择从工作区使用现有清单选项,并将其指向您自己的清单文件

这样做的好处是,您可以随时导出新的可运行jar,包括源文件,而无需每次手动修补

如果您对使用清单文件感兴趣,oracle网站上有一个很好的教程,可以帮助您入门:


您尝试过Runnable Jar文件导出选项吗?它有一个包含依赖项的选项。是的,我尝试过,但正如我所说,使用这种导出方式不会将源代码包含在我的.Jar文件中。jarTry此链接非常感谢,我会看一看,如果时间太短,我会使用7-zip或WinRAR手动将源代码添加到.Jar文件中。一次再次感谢您的回答:)
Manifest-Version: 1.0
Main-Class: HelloWorld
Manifest-Version: 1.0
Rsrc-Class-Path: ./ commons-lang3-3.3.1.jar
Class-Path: .
Rsrc-Main-Class: HelloWorld
Main-Class: org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader