java - JBoss环境下将war文件添加到java.class.path中

标签 java jboss classpath

我正在使用一个库来扫描我的类路径,以便找到我的接口(interface)的实现(这可能看起来很奇怪,我知道有更好的方法,但我无法更改它)。 当我在独立应用程序中使用此库时,它可以正常工作

java.class.path

返回我的 jar 文件所在的类路径。现在我尝试在部署到 Jboss 7 的 Web 项目中使用这个库。在这种情况下询问类路径时,将返回:

java.class.path /Applications/jboss-as-7.1.1.Final/jboss-modules.jar

我真的不知道如何向 java.class.path 环境变量添加一些内容。我有什么想法可以向这个变量添加一些东西或者解决这个问题的更好方法吗? 该库中有一个 add() 函数,我可以在其中添加需要扫描的 jar 文件。因此,如果有人可以告诉我如何获取此 war 文件的位置,那也会有所帮助;)。

这是我正在谈论的库: http://software.clapper.org/javautil/

注意:java.class.path 在这个库中使用,我真的不想对所说的库进行任何更改。

提前致谢。

最佳答案

在无法控制类加载器的情况下,没有可移植的方法来进行类路径扫描。实现这一目标的更好选择是:

  • 使用ServiceLoaderMETA-INF/services
  • 使用 CDI 并将实现注册为 CDI bean

关于java - JBoss环境下将war文件添加到java.class.path中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18335383/

相关文章:

JBoss 中的 Tomcat 版本?

java - @EJB 返回 null

java - 对于 Camel 路由输入端点的 JBoss 嵌入式 MQ 进行 jndi 查找时出现问题

java - 如何从内部存储中提取 zip 文件?

java swing 认证失败

batch-file - 如何在我的批处理文件中引用目录中的所有 jar 文件

java - 设置 Datomic 类路径函数以供 Windows 中的事务处理程序使用

java - 在我的java程序中包含gson

java - 如何使用Java获取Google的搜索结果

java - 带有 Quartz 的 Spring @Autowire