繁体   English   中英

JBoss模块可以依赖jar吗

[英]Can a JBoss module depend on a jar

我制作了一个jboss模块来提供一些基本代码。 当此模块部署到jboss时,我想注销一些数据。 我可以通过创建一个简单的类来实现这一点,如下所示:

@Singleton
@Startup
public MyClass {

    @PostConstruct
    public void init() {
        System.out.println("I am in here");
    }

}

上面的initi方法有效,并且已正确启动。 注意,上面的模块是一个罐子。

但是,当我将上述代码提取到其自己的项目中,并将编译后的jar作为依赖项添加到同一模块时,该代码将永远不会执行。 相反,如果我将其添加到war deploy中,它将按预期工作。 即Maven依赖

<dependency>
     <groupId>com.myModuleCommon</groupId>
     <artifactId>moduleCommon</artifactId>
     <version>1.0.0</version>
</dependency>

我在这里查看了文档并检查了这个stackoverflow 问题,我不确定是否这就是我不能让jar模块依赖于另一个jar的原因。

那么我的问题是,为什么当我的提取代码用作模块的依赖项时却不能在启动过程中(即上面的类)被调用,而是用作内部类或战争可部署的依赖项?

即在我的示例war文件中,我可以在WEB-INF / lib下看到提取的依赖项。 但是,在我的jar模块中,清单文件中没有任何内容表示正在使用此依赖项。 也许这是问题的一部分,其中可能存在一些替代方法来指定模块中的依赖项。

根据问题中的文档,我认为正确的答案是需要在MANIFEST或jboss-deplyment-structure.xml文件中显式添加模块依赖项。 这是一篇文章,显示了如何完成此操作

即使用Maven的:

<configuration>
   <archive>
      <manifestEntries>
         <Dependencies>com.something.dependency</Dependencies>
      </manifestEntries>
   </archive>
</configuration>

即使用jboss xml文件

<jboss-deployment-structure>
   <deployment>
      <dependencies>
         <module name="com.something.dependency" />
      </dependencies>
   </deployment>
</jboss-deployment-structure>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM