Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
向Java API添加依赖项_Java - Fatal编程技术网

向Java API添加依赖项

向Java API添加依赖项,java,Java,我是Java新手,我已经编写了一个API,我想发布它。我正在创建一个Jar文件来制作一个API,但是我的程序使用了一些其他API,比如Jena和XSOM。如何在Eclipse的帮助下将这些API包含到Jar发行版中?我读过类似的问题,但找不到答案 问题没有得到澄清。这取决于为不同的目的分发 如果你不能说清楚,就拿起一些工具来做: 法特加怎么样?它只需将任何依赖项jar添加到一个jar中,您可以从eclipse菜单中的ExportExecutableJAR中执行 怎么样?它简化了任何java项目

我是Java新手,我已经编写了一个API,我想发布它。我正在创建一个Jar文件来制作一个API,但是我的程序使用了一些其他API,比如Jena和XSOM。如何在Eclipse的帮助下将这些API包含到Jar发行版中?我读过类似的问题,但找不到答案

问题没有得到澄清。这取决于为不同的目的分发

如果你不能说清楚,就拿起一些工具来做:

  • 法特加怎么样?它只需将任何依赖项jar添加到一个jar中,您可以从eclipse菜单中的ExportExecutableJAR中执行

  • 怎么样?它简化了任何java项目的依赖关系管理,但学习如何使用它需要一些时间

  • 构建工具怎么样?例如,只是一个为java项目设计的make-like工具。与maven不同,它以您想要的任何顺序组装项目构建

  • 怎么样?它将您的项目打包成可执行文件

    不要忘记包含许可证。当您分发第三方JAR时,许可声明也应该分发

无论如何,分发有很多目的。例如,准备在web容器中部署和运行的依赖项。通常,我们有部署工具(由web容器提供者提供的ant任务或maven插件)。例如,为独立java应用程序准备依赖项。在这种情况下,我们应该制定自己的部署工具并考虑过程:

  • 应用程序如何运送到生产环境?通过url下载,通过scp复制,从git repo中的发布分支签出
  • 如何在生产上更新应用程序?这是一个重要的问题,当您遇到麻烦时,需要快速修复并进行热部署
  • 类路径中JAR的更好顺序是什么?错误的顺序将导致类隐藏或加载错误的配置文件
您知道如何将依赖JAR添加到类路径

你可以:

  • 将其他JAR列为依赖项,只需指导用户 “api”将它们添加到类路径中

  • 如果您的“api”涉及一个主类,并且您希望将其作为一个可执行jar分发,那么您可以使用一个包含所需库的外部文件夹分发jar,然后更改jar清单,以指定要包含这些库的主类和类路径

  • 如果您使用maven,那么通过在依赖项中列出它们,它们将自动包含在客户机代码中,因为它们将被视为

  • 给罐子盖上阴影——把里面的东西拆开,放进你的罐子里。有三种方法让人想到这一点*:

    • 如果您正在maven中构建api,您可以查看
    • 您可以看看如何使用有点有趣的名称(?)
    • eclipse“导出为可执行jar”允许您保存一个具有类似功能的ant文件
(*在这些情况下,依赖库的许可证是否允许您执行此操作取决于这些库的许可证)
-

我不想创建可执行的jar文件。我没有主课。我想创建一个jar文件,供其他人使用,就像我使用的API一样。但是我需要将这些API添加到我的jar文件中,这样人们就不必为了使用我的API而逐个添加这些API。