我试图在 Java中创建一个可扩展的应用程序,并选择使用SPI.根据这个 tutorial我正在关注,我应该在我的jar中的meta-inf / services中创建一个特定的文件,但不知道如何.
我知道如何使用meta-inf创建jar,但是找不到如何在这个文件夹中创建服务文件夹和特定文件的方式. (我正在使用Eclipse)

谢谢你的帮助.

解决方法

由于教程正在指示手动创建它,而不是使用ant或maven或其他构建工具,那么只需在根级别创建一个名为meta-inf的文件夹,其中包含名为services的文件夹和名为MANIFEST.MF的文件.

我不知道如何计划执行你的jar文件,现在你可以把这一行放在你的MANIFEST.MF中:

Manifest-Version: 1.0

对于您的服务文件夹,您需要创建一个名为com.example.dictionary.spi.Dictionary的文件,其中包含以下一行内容,如本教程所述:

com.example.dictionary.GeneralDictionary

FYI – meta-inf是一个内部Java元目录.一般来说,您希望依靠您的包装工具(如ant或maven)构建meta-inf文件夹的内容,而不是自行完成.

您可以看到关于meta-inf文件夹here的内容的详细信息:

The following files/directories in the meta-inf directory are recognized and interpreted by the Java 2 Platform to configure applications,extensions,class loaders and services:

    MANIFEST.MF

The manifest file that is used to define extension and package related data.

    INDEX.LIST

This file is generated by the new "-i" option of the jar tool,which contains location information for packages defined in an application or extension.  It is part of the JarIndex implementation and used by class loaders to speed up their class loading process.

    x.SF

The signature file for the JAR file.  'x' stands for the base file name.

    x.DSA

The signature block file associated with the signature file with the same base file name. This file stores the digital signature of the corresponding signature file.

    services/

java – 在Eclipse中创建META-INF / services文件夹的更多相关文章

  1. android – Build在debug中运行,在release中失败 – ZipException重复条目

    我正在将应用程序从2.3升级到Nougat(SDK25).当我添加com.android.support:appcompat-v7:25.0.0以支持ActivityCompat.requestPermissions时.当我在调试模式下运行它时,应用程序运行没有问题,但使用./gradlewassembleDebug运行会导致以下错误:当我在调试模式下运行时,应用程序构建没有问题,但是,当我尝试构

  2. Android BLE onCharacteristicRead和onCharacteristicChanged从未调用过

    此代码包含在我的MainActivity方法中.不确定这是否会有所作为.我已经看过并尝试了几种方法,但没有运气.更新:我决定检查onDescriptorWrite方法并记录一些信息.有趣的是,状态返回13,即“写入操作超过属性的最大长度”.我将进一步研究这个问题.解决方法我在这里发现了问题.我假设温度计正在使用标准的BLE服务和特性设置.它不是.他们创造了自己的自定义特征.一旦我切换到那个特性,’改变’方法开始射击.

  3. android – 在interactivemedia中的APK error_prone / Annotations.gwt.xml中复制的重复文件

    错误:任务’:app:transformResourcesWithMergeJavaResForDevDebug’的执行失败.com.android.build.api.transform.TransformException:com.android.builder.packaging.DuplicateFileException:DuplicatefilescopiedinAPKerror_pr

  4. android – Gradle构建时在APK META-INF中复制的重复文件

    或者我可能已经排除了太多文件–我是否应该省略其中的一些行,如果是这样的话?我也尝试将依赖项移到顶部,在Android之上无济于事.此外,我对这些帖子中给出的一些建议感到有些困惑.Exclude和PickFirst之间的操作区别是什么?

  5. 无法使用Android Studio 1.2和Gradle 1.2.2加载类OutputFileTask

    我遇到了旧dexguard版本的问题.自从我更新到6.1.19后就不再有问题了.

  6. Instabug for Android构建警告

    我们有一个包含4个模块的gradle项目:1个库模块和3个Android应用程序.要构建我们的应用程序,我们使用circleCI.我们还在this指南之后禁用了circleCI构建的预定义.在我将Instabug添加到我们的一个项目之前,一切都很棒.从那以后,我们一直在达到circleCI4GB的限制.最重要的是,将Instabug作为依赖项的项目将启动preDexgradle任务,无论如何.要启

  7. DexArchiveMergerException:无法合并dex – Android Studio 3.0 Stable

    我做了:>在“设置”–>“AndroidSDK”–>“SDK工具”中检查并安装GooglePlay服务v.46>删除文件夹/.gradle>“清洁工程”>“重建项目”错误是:这是命令gradlew-qapp:dependencies>>app_dependencies.txt的输出运行命令后gradle:app:assembleDebug–stacktrace我明白了:我的项目gradle文件:文

  8. Mybatis-Plus接口BaseMapper与Services使用详解

    这篇文章主要为大家介绍了Mybatis-Plus接口BaseMapper与Services使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  9. iframe在移动端的缩放的示例代码

    这篇文章主要介绍了iframe在移动端的缩放的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  10. 用meta实现的页面跳转代码

    用meta实现的页面跳转代码,建议与js一起使用,防止页面假死或不支持js的情况,都可以实现效果。

随机推荐

  1. 基于EJB技术的商务预订系统的开发

    用EJB结构开发的应用程序是可伸缩的、事务型的、多用户安全的。总的来说,EJB是一个组件事务监控的标准服务器端的组件模型。基于EJB技术的系统结构模型EJB结构是一个服务端组件结构,是一个层次性结构,其结构模型如图1所示。图2:商务预订系统的构架EntityBean是为了现实世界的对象建造的模型,这些对象通常是数据库的一些持久记录。

  2. Java利用POI实现导入导出Excel表格

    这篇文章主要为大家详细介绍了Java利用POI实现导入导出Excel表格,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  3. Mybatis分页插件PageHelper手写实现示例

    这篇文章主要为大家介绍了Mybatis分页插件PageHelper手写实现示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  4. (jsp/html)网页上嵌入播放器(常用播放器代码整理)

    网页上嵌入播放器,只要在HTML上添加以上代码就OK了,下面整理了一些常用的播放器代码,总有一款适合你,感兴趣的朋友可以参考下哈,希望对你有所帮助

  5. Java 阻塞队列BlockingQueue详解

    本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景,通过实例代码介绍了Java 阻塞队列BlockingQueue的相关知识,需要的朋友可以参考下

  6. Java异常Exception详细讲解

    异常就是不正常,比如当我们身体出现了异常我们会根据身体情况选择喝开水、吃药、看病、等 异常处理方法。 java异常处理机制是我们java语言使用异常处理机制为程序提供了错误处理的能力,程序出现的错误,程序可以安全的退出,以保证程序正常的运行等

  7. Java Bean 作用域及它的几种类型介绍

    这篇文章主要介绍了Java Bean作用域及它的几种类型介绍,Spring框架作为一个管理Bean的IoC容器,那么Bean自然是Spring中的重要资源了,那Bean的作用域又是什么,接下来我们一起进入文章详细学习吧

  8. 面试突击之跨域问题的解决方案详解

    跨域问题本质是浏览器的一种保护机制,它的初衷是为了保证用户的安全,防止恶意网站窃取数据。那怎么解决这个问题呢?接下来我们一起来看

  9. Mybatis-Plus接口BaseMapper与Services使用详解

    这篇文章主要为大家介绍了Mybatis-Plus接口BaseMapper与Services使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  10. mybatis-plus雪花算法增强idworker的实现

    今天聊聊在mybatis-plus中引入分布式ID生成框架idworker,进一步增强实现生成分布式唯一ID,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

返回
顶部