使用复制在lib文件夹中的外部.jar依赖项构建可执行文件.jar

dim*_*s93 6 java intellij-idea

我正在使用IntelliJ IDEA和Java.我有我的主程序,命名SearchEngine应该构建一个可执行文件SearchEngine.jar.但是,我的代码中依赖于3个额外的.jar文件.我添加了这些依赖项,我的程序运行正常.

我想建立一个可执行的.jar,它不包括它里面的3个额外的.jar文件,而是,它会将他们的lib文件夹中.就此而言,我选择了以下选项:

1

当我不更改Artifacts项目设置选项卡中的设置时,我得到4个.jar文件,其中1个是我的可执行文件,3个是额外的.jar文件.这样一来,一切工作正常.

2

然而,当我尝试并添加里面的3个额外的.jar文件lib夹,我的可执行文件并不能正常工作,即使3个额外的.jar文件一在得到复制lib文件夹中.如何使这项工作?

3

dim*_*s93 4

手动编辑MANIFEST.MF文件如下(libs/在每个 .jar 名称前面添加),修复它。

前:

Class-Path: lucene-core-4.10.2.jar lucene-queryparser-4.10.2.jar lucen
 e-analyzers-common-4.10.2.jar
Run Code Online (Sandbox Code Playgroud)

后:

Class-Path: libs/lucene-core-4.10.2.jar libs/lucene-queryparser-4.10.2.jar
 libs/lucene-analyzers-common-4.10.2.jar
Run Code Online (Sandbox Code Playgroud)