使用META-INF \ services为Jboss模块扩展创建jar

时间:2018-05-28 09:45:17

标签: java maven jboss javac

我希望实现一个接口,创建一个jar,将它放在JBoss的部署文件夹中 我只有一个.java文件 但是我不能让任何罐子工作。

我找不到任何关于如何制作Jar的文档 我愿意使用任何工具,我尝试了InterliJ Artefact(整个项目) 我尝试了javac(使用InteliJ artefact for libraries),然后jar,然后手动添加文件/META-INF/services/org.[myinterface]

我发现了这两个帖子 Adding META-INF\services\javax.xml.parsers.SAXParserFactory to jarCreate META-INF/services file with Maven
但这些都没有给我足够的精确度。

我认为这没有帮助,因为我知道我的Jar已经问题,但这是部署中的错误:

  

org.my-class-to-implement:找不到提供者org.my-implementation

如果某人有一个可以生成正确jar的现有项目的链接,或者创建它的程序,那可以节省我的一天

可以帮助我的问题: 可以手动添加/ META-INF / services /文件吗? 如果有包名,我应该在某处提到它吗?

感谢您的帮助,如果我在此期间找到了正确的程序,我会在这里发布

2 个答案:

答案 0 :(得分:0)

使用Maven制作带有function getTimeFromDate(timestamp) { let date = new Date(timestamp * 1000); let hours = date.getHours(); let minutes = date.getMinutes(); let seconds = date.getSeconds(); return hours+":"+minutes+":"+seconds } let timeStamp = new Date("Mon May 28 2018 00:00:00 GMT+0530 (IST)") console.log(getTimeFromDate(timeStamp)); 的jar或使用Eclipse创建mvn package

答案 1 :(得分:0)

我使用Intellij中的人工制品来管理它 一旦我将抽象类(我将要实施的那个)放在模块中

,它就起作用了

步骤:

  • 在Intellij中创建一个模块(我复制了一个现有的例子)
  • 添加我希望实施的课程
  • 实施班级
  • 的实施
  • 在src / main / ressources / META-inf / org.my.interface.to.implement中输入我的班级名称: org.my.implmentation
  • 创建模块的人工制品(您可以按照本指南How to build jars from IntelliJ properly?))
  • jar可以部署在JBOSS部署目录中

我在评论中删除了pom以避免混淆。 如果有帮助,我可以发送邮件或模块给每个邮件,只需询问