Разработайте, на чем Вам нравится. Как программист Java Вы могли бы хотеть избежать Mac OS X, прежде всего, потому что новые возможности, кажется, были значительно отложены, и также потому что можно найти, что Вы больше не получали машину, которая поддерживает новые версии Java. Говорить, что я предполагаю разрабатывать на Mac OS X, должно быть очень хорошим (интерфейс командной строки, dtrace, хорошая ОС).
я разрабатываю на окнах с IntelliJ 7. Это в порядке, но нуждается в некоторых значительных аппаратных средствах. Я тогда развертываюсь на solaris/linux. Если Вы не пишете GUI или интегрируетесь с кодом C++, необходимо быть прекрасным выбором, вообще поражает воображение.
Это было объяснено в сообщении блога от Sonatype.
В родительском pom, указать
<configuration>
<aspectLibraries combine.children="append">
<aspectLibrary>
<groupId>name.seller.rich</groupId>
<artifactId>tracing</artifactId>
</aspectLibrary>
</aspectLibraries>
</configuration>
В общем, элементы конфигурации дочерних элементов имеют приоритет над элементами, указанными в родительском элементе для любого данного подключаемого модуля. По умолчанию это упрощает задачу: полностью сконфигурированный дочерний элемент будет использовать именно ту конфигурацию, которая содержится в его pom. Однако,
Мне нужно это проверить, поэтому позвольте мне вернуться к вам по этому поводу, но я думаю, что правильный способ сделать это - использовать свойства , как отмечено здесь . В вашем случае код будет выглядеть следующим образом:
<properties>
<aspect.library.groupId>name.seller.rich</aspect.library.groupId>
<aspect.library.artifactId>tracing</aspect.library.artifactId>
</properties>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<executions>
<execution>
<id>compile_with_aspectj</id>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
<configuration>
<aspectLibraries>
<aspectLibrary>
<groupId>${aspect.library.groupId}</groupId>
<artifactId>${aspect.library.artifactId}</artifactId>
</aspectLibrary>
</aspectLibraries>
</configuration>
<dependencies>
<dependency>
<groupId>aspectj</groupId>
<artifactId>aspectjtools</artifactId>
<version>1.5.3</version>
</dependency>
</dependencies>
</plugin>
Затем в дочернем элементе вы сможете изменить эти свойства, и родительский элемент автоматически выберет новые значения:
<properties>
<aspect.library.groupId>name.seller.rich</aspect.library.groupId>
<aspect.library.artifactId>something-else</aspect.library.artifactId>
</properties>
Я думаю, что вы, возможно, запрашиваете возможность добавления конфигурации, чтобы иметь дополнительный узел в конфигурации вашего ребенка поверх узла, указанного в родительском. Для этого случая я не могу придумать очевидного решения.