Плющ: как я удаляю переходные зависимости?

Самый верный ответ правильный, используйте typeof.

Однако я хотел бы отметить, что в JavaScript undefined изменен (по какой-то нечестивой причине). Таким образом, просто проверка на varName !== undefined может не всегда возвращаться, как вы ожидаете, потому что другие библиотеки могли быть изменены неопределенно. Несколько ответов (@ skalee's, для одного), похоже, предпочитают не использовать typeof, и это может вызвать проблемы.

«Старый» способ справиться с этим был объявлением неопределенным как var для компенсировать любое возможное отключение / переключение undefined. Тем не менее, лучший способ по-прежнему использовать typeof, поскольку он игнорирует любое переопределение undefined из другого кода. Особенно, если вы пишете код для использования в дикой природе, где кто знает, что еще может быть запущено на странице ...

20
задан Leonel 28 January 2009 в 12:48
поделиться

3 ответа

, Как я заставляю загрузку Ivy Быть в спящем режиме, но не эти два?

Ivy делает это использование, что это называет "конфигурациями". Ваш ivy.xml, который представляет, в спящем режиме, должен будет обеспечить, различные конфигурации для представления различных примеров использования для в спящем режиме. (Существует, очевидно, некоторое использование, в спящем режиме, который действительно требует jaas и jacc, но по-видимому Вы не используете тот случай.)

Здесь документация относительно конфигураций. Если Вы хотите обеспечить ivy.xml, Вы используете для, в спящем режиме, я могу обеспечить указатели при создании конфигураций, которые удалят определенные библиотеки, которые Вы хотите удаленный.

, Если я на самом деле нуждался в них и загрузил их Банки с Sun, в который папка в моей машине Ivy будет искать их?

"каталоги", что плющ заглядывает для файлов плюща и артефактов, указаны списком сопоставителей, которые Вы используете. Список сопоставителей указан в файле настроек плюща (обычно называемый ivysettings.xml.) Как правило, это не локальные каталоги, но удаленные URL. Существует; однако, тип сопоставителя локального файла, который будет работать на это.

, Если Вы делаете это, необходимо будет обеспечить и файлы плюща и артефакты (банки), каждый с именами файлов, которые соответствуют шаблонам сопоставителей. Детали об этом находятся в документации.

Вот сопоставитель локального файла в качестве примера из файла настроек плюща:

<filesystem name="myfiles" checkconsistency="false" checksums="" transactional="false">
   <ivy pattern="/data/repo/[organisation]/[module]-[revision].ivy.xml"/>
   <artifact pattern="/data/repo/[organisation]/[module]-[revision].[ext]"/>
</filesystem>

Также примечание, что необходимо будет указать задачи плюща на корректный сопоставитель. Можно сделать это с атрибутом сопоставителя на задачах Ant, или с эти defaultResolver атрибут на settings элемент в файле настроек плюща.

Здесь документация относительно сопоставителей.

РЕДАКТИРОВАНИЕ: OP нашел менее разовое интенсивное обходное решение для его определенной исходной проблемы. "Исключить" дочерний тег тега зависимости сделал задание для него:

<dependencies>  
   <dependency org="org.hibernate" name="hibernate-core" rev="3.3.1.GA" conf='..'> 
       <exclude name='jaas' /> 
       <exclude name='jacc' />
   </dependency>
</dependencies>
19
ответ дан 29 November 2019 в 23:37
поделиться

Another option for not downloading any dependencies is to disable them with the transitive attribute. So if you wanted hibernate-core, but none of its dependencies, you could do this:

<dependencies>  
   <dependency org="org.hibernate" name="hibernate-core"
               rev="3.3.1.GA" conf='..'
               transitive="false" /> 
</dependencies>
25
ответ дан 29 November 2019 в 23:37
поделиться

Просматривая веб-страницы и блоги, я обнаружил следующие настройки ivy-settings для работы с захватом jaas / jacc и hibernate

<ivysettings>

<settings defaultResolver="chained" checkUpToDate="true" />

<resolvers>
    <chain name="chained">
        <url name="com.springsource.repository.bundles.release">
            <ivy pattern="http://repository.springsource.com/ivy/bundles/release/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" />
            <artifact pattern="http://repository.springsource.com/ivy/bundles/release/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" />
        </url>

        <url name="com.springsource.repository.bundles.external">
            <ivy pattern="http://repository.springsource.com/ivy/bundles/external/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" />
            <artifact pattern="http://repository.springsource.com/ivy/bundles/external/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" />
        </url>

        <ibiblio name="ibiblio" m2compatible="true"/>

        <ibiblio name="jboss" root="http://repository.jboss.org/maven2/" m2compatible="true"/>

        <ibiblio name="java-net-maven1" root="http://download.java.net/maven/1" pattern="${java.net.maven.pattern}" m2compatible="false"/>

        <ibiblio name="java-net-maven2" root="http://download.java.net/maven/2/" m2compatible="true"/>

        <ibiblio name="compass" m2compatible="true" root="http://repo.compass-project.org" />

    </chain>

</resolvers>

Решатель jboss ibibilio - это то, что помогло захватить JAAS / JAAC

Затем мой ivy.xml может вставить его с помощью

<ivy-module version="2.0">

<info organisation="foo" module="Bar"/>
<dependencies>

    <dependency org="com.h2database" name="h2" rev="1.2+"/>

    <dependency org="org.hibernate" name="hibernate-annotations" rev="3.4.0.GA"/>     

</dependencies>

0
ответ дан 29 November 2019 в 23:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: