Кто-то может объяснить атрибут conf зависимости ivy.xml?

Не используйте select distinct:

select (e.salary * e.months), count(*)
from employee e
where (e.salary * e.months) = (select max(e2.salary * e2.months)
                               from employee e2
                              )
group by (e.salary * e.months);

Сообщение довольно ясно. У вас есть count(*), поэтому ваш запрос является запросом агрегации. Однако у вас есть неагрегированный столбец, поэтому MySQL сбит с толку: хотите агрегировать или нет? Отсюда и ошибка.

Вы также можете написать это как:

select (e.salary * e.months), count(*)
from employee e
group by (e.salary * e.months)
order by (e.salary * e.months) desc
limit 1;
65
задан informatik01 30 December 2013 в 01:37
поделиться

3 ответа

В первую очередь, Ivy не является Знатоком ;)
Maven2 является управлением проектами программного обеспечения и инструментом понимания, тогда как Ivy является только инструментом управления зависимости.

Ivy в большой степени полагается на уникальное понятие, названное конфигурация .
В Ivy, конфигурация модуля способ использовать или видеть модуль .
, Например, у Вас могут быть тест и конфигурация во время выполнения в Вашем модуле. Но у Вас могут также быть MySQL и конфигурация Oracle. Или Быть в спящем режиме и конфигурация JDBC.

В каждой конфигурации, можно объявить:

  • , какие артефакты (банка, война...) требуются.
  • Ваши зависимости от других модулей, и описывают, в какой конфигурации зависимости Вы нуждаетесь. Это называют отображением конфигурации.

Так атрибут conf делает точно что: Описывает конфигурацию, отображающуюся для зависимости.
отображенный дочерний элемент является Вашей "правой стороной -> символ" и представляет название отображенной конфигурации зависимости. '*' подстановочный знак может использоваться для обозначения всех конфигураций этого модуля.

<час>

Maven2 на его стороне имеет что-то позвонившее объем .
можно объявить зависимость, как являющуюся частью тестового объема или объема buildtime.
Тогда в зависимости от этого объема Вы получите артефакт зависимости (только один артефакт на модуль в maven2) с его зависимостями в зависимости от их объема. Объемы предопределены в maven2, и Вы не можете изменить это.

, Который означает:

существуют партия из ненужных зависимостей, загруженных для многих библиотек.
, Например, Будьте в спящем режиме, загружает набор БАНОК JBoss, и Тег Дисплея загружает все различные веб-БАНКИ платформы. Я оказался, исключая почти столько зависимостей, сколько я добавил.

проблема, это в спящем режиме, может использоваться с несколькими реализациями кэша, несколькими реализациями пула соединения... И этим нельзя управлять с объемами, где предложения конфигураций Ivy являются изящным решением этого вида проблемы.
, Например, в Ivy, принятие в спящем режиме, имеет файл Ivy как этот , тогда можно объявить зависимость как этот:

<dependency org="hibernate" name="hibernate" rev="2.1.8" conf="default->proxool,oscache"/>

для получения в спящем режиме с его proxool и oscache реализациями, и как этот:

<dependency org="hibernate" name="hibernate" rev="2.1.8" conf="default->dbcp,swarmcache"/>

для получения в спящем режиме с dbcp и swarmcache.

Путем отображения значения по умолчанию master конфигурация к" proxool,oscache" или к" dbcp,swarmcache", Вы определяете то, в чем Вы нуждаетесь точно от модуля ", в спящем режиме".

<час>

можно найти их "proxool..." аргументы путем списка конфигурации Ivy, определенной для каждого партнера модулей библиотеки. Например:

<ivy-module version="2.0">
<info organisation="ssn-src" module="pc"/>
<configurations defaultconfmapping="default->default">
    <conf name="default" />
    <conf name="provided" description="they are provided by the env." />
    <conf name="compile" extends="default,provided" />
    <conf name="war" extends="default"/>
</configurations>
<dependencies>

Пример :

позволяют нам предположить modA, имеет две конфигурации, значение по умолчанию и тест.
На практике, будет очень необычным хотеть не учесть conf атрибут элемента зависимости.
ivy.xml для [1 113] мог бы иметь зависимость:

<dependency org="theteam" name="modB" rev="1.0" conf="default->*" />

Вы запускаете со значения по умолчанию, а не и от значения по умолчанию и от теста.

вышеупомянутый пример заставляет значение по умолчанию modA зависеть от conf1 modB, conf2, и conf3.
Или Вы могли бы хотеть сказать, что значение по умолчанию modA только зависит от conf1 modB:

<dependency org="theteam" name="modB" rev="1.0" conf="default->*conf1*" />
74
ответ дан Little Helper 24 November 2019 в 15:26
поделиться

Спасибо, VonC!

Это помогло мне еще больше.

Что касается опций (конфигураций) tieTYT, вы можете найти их в файле ivy- [номер версии] .xml в вашем репозитории Ivy в разделе: название организации -> название модуля.

Пример элемента конфигурации из версии JUnit 4.6, загруженный с http://www.springsource.com/repository/app/ .

<configurations>
    <conf name="compile" visibility="public" description="Compile dependencies"/>
    <conf name="optional" visibility="public" extends="compile" description="Optional dependencies"/>
    <conf name="provided" visibility="public" description="Provided dependencies"/>
    <conf name="runtime" visibility="public" extends="compile" description="Runtime dependencies"/>
</configurations>

В файле ivy.xml моего проекта у меня есть тест компиляции конфигурации. В элементе dependencies у меня есть следующая зависимость:

<dependency org="org.junit" name="com.springsource.org.junit"
        rev="4.6.0" conf="compile-test->compile" />

Как видите, моя конфигурация теста компиляции зависит от конфигурации компиляции в файле ivy.xml JUnit.

14
ответ дан 24 November 2019 в 15:26
поделиться

Однажды мне помогло такое понимание вещей:

  1. Конфигурация ivy - это просто имя для некоторого подмножества артефактов модуля.
  2. Зависимости между модулями задаются в терминах имен конфигураций.
7
ответ дан 24 November 2019 в 15:26
поделиться
Другие вопросы по тегам:

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