【问题标题】:Can the classpath scanning be controlled in Weld?可以在 Weld 中控制类路径扫描吗?
【发布时间】:2011-10-30 04:55:00
【问题描述】:

我在玩 Weld-SE (Java SE),注意到如果类路径中有很多 JAR,JVM 启动时间会运行到几秒钟。

有没有办法像 Apache Ant 或 AspectJ 一样将扫描路径指定/限制为包模式或路径模式?

PS:在 Weld 论坛上注册不起作用 - 它一直说“您的密码很简单”

【问题讨论】:

    标签: dependency-injection cdi jboss-weld


    【解决方案1】:

    好问题,但我认为这是不可能的。每个档案都会按规范扫描beans.xml

    【讨论】:

    • 猜猜是时候删除那个答案了,@Bozho:前一个是完全有效的。
    • @Riduidel 谢谢。我想删除它,但根据 CDI 规范,没有办法。焊接只是一种实现方式。我赞成另一个答案,因为它实际上是最适用的。
    • 确实,我忘记了非标准方面,谢谢解释。
    【解决方案2】:

    从weld 1.1.0开始,根据Weld reference documentation可以:

    <beans xmlns="http://java.sun.com/xml/ns/javaee" 
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
           xmlns:weld="http://jboss.org/schema/weld/beans" 
           xsi:schemaLocation="
              http://java.sun.com/xml/ns/javaee http://docs.jboss.org/cdi/beans_1_0.xsd
              http://jboss.org/schema/weld/beans http://jboss.org/schema/weld/beans_1_1.xsd">
        <weld:scan>
            <weld:exclude name="mypackage.MyClass"/>
        </weld:scan>
    </beans>
    

    【讨论】:

      【解决方案3】:

      您可以使用 CDI 1.1。第一个答案工作正常,但这个 sn-p 适用于任何提供者:

      <?xml version="1.0" encoding="UTF-8"?>
      <beans xmlns="http://xmlns.jcp.org/xml/ns/javaee"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd"
          version="1.1" bean-discovery-mode="all">
      
          <scan>
              <exclude name="my.cool.package" />
      
              <!-- you can exclude with condition -->
              <exclude name="my.cool.package.for.jodatime" />
                  <if-class-not-available name="org.joda.time.LocalDate"/>
              </exclude>
          </scan>
      </beans>
      

      【讨论】:

        猜你喜欢
        • 2018-03-30
        • 2014-05-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多