当前位置:  开发笔记 > 编程语言 > 正文

Eclipse:如何使用外部jar构建可执行jar?

如何解决《Eclipse:如何使用外部jar构建可执行jar?》经验,为你挑选了4个好方法。

我正在尝试构建一个可执行的jar程序,它取决于下载的外部jar.在我的项目中,我将它们包含在构建路径中,并且可以在eclipse中运行和调试.

当我尝试将它导出到jar时,我可以运行该程序,但是当我尝试按下包含来自外部jar的函数调用和类的按钮时,我无法运行.我编辑了环境变量(Windows XP)CLASSPATH以包含所有外部jar的路径,但它不起作用.

需要注意的一点是,我在导出可执行jar时遇到了编译警告,但它没有显示有关警告的任何描述.

有人会提供一个关于如何使用eclipse包含外部jar程序的详尽指南吗?



1> 小智..:

Eclipse 3.5有一个选项可以将所需的库打包到runnable jar中.文件 - >导出...选择runnable jar并单击下一步.可运行的jar导出窗口有一个单选按钮,您可以在其中选择将所需的库打包到jar中.


这个(可以)还生成一个Ant构建文件,可以在以后快速启动(无论是在IDE内部还是在IDE外部).两全其美的!

2> McDowell..:

您可以通过为jar 创建清单来完成此操作.看看Class-Path标头.Eclipse可以选择在导出时选择自己的清单.

另一种方法是在调用应用程序时将依赖项添加到类路径:

win32: java.exe -cp app.jar;dependency.jar foo.MyMainClass
*nix:  java -cp app.jar:dependency.jar foo.MyMainClass


后一个建议是行不通的.当使用`-jar`时,`-cp`(和`-classpath`)参数被忽略**.

3> Eric Leschin..:

如何将项目的jar包含到runnable jar中:

我正在使用Eclipse版本:3.7.2在Ubuntu 12.10上运行.我还将向您展示如何制作,build.xml以便您可以执行ant jar命令行并使用提取到其中的其他导入jar创建jar.

基本上你要求Eclipse构造build.xml,将你的库导入jar中.

    启动Eclipse并创建一个新的Java项目,创建一个新包'mypackage',添加您的主类:Runner 将此代码放在那里.

    在此输入图像描述

    现在包括mysql-connector-java-5.1.28-bin.jar 来自Oracle的Oracle,它使我们能够编写Java来连接MySQL数据库.通过右键单击项目 - >属性 - > java构建路径 - >添加外部Jar - >选择mysql-connector-java-5.1.28-bin.jar来完成此操作.

    在eclipse中运行程序,它应该运行,并告诉你用户名/密码是无效的,这意味着Eclipse正确配置了jar.

    在Eclipse中转到File- > Export- > Java- > Runnable Jar File.您将看到此对话框:

    在此输入图像描述

    确保设置'另存为ant脚本'复选框.这就是为什么你可以使用命令行来做一个ant jar.

    然后转到终端并查看ant脚本:

    在此输入图像描述

所以你看,我运行jar并没有错误,因为它发现包含mysql-connector-java-5.1.28-bin.jar嵌入内部Hello.jar.

查看Hello.jar里面: vi Hello.jar你会看到许多引用com/mysql/jdbc/stuff.class

ant jar在命令行上自动完成所有这些操作:重命名buildant.xmlbuild.xml,并将目标名称从更改create_run_jarjar.

然后,从MyProject你内部打字ant jar和繁荣.你在MyProject中有你的jar.你可以使用java -jar Hello.jar它调用它,一切正常.



4> Lucas Potter..:

作为一种好的做法,您可以使用Ant脚本(Eclipse附带它)来生成JAR文件.在这个JAR中,您可以拥有所有依赖库.

您甚至可以将MANIFEST的Class-path标头设置为指向文件系统中的文件,但这不是一个好习惯.

Ant build.xml脚本示例:




    
    



    
    

    
    
        
        
    

    
    
        
    

    
    
        
            
            
            
            
            
            
            
            
        
    

推荐阅读
李桂平2402851397
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有