my %hash is default(222)=(a=>0,b=>111); sub test {say %_.default}; #using automatic parameter test |%hash; #outputs (Any)
Скольжение по определению означает превращение контейнера в список его элементов. То есть вы передаете не хеш, а его содержимое.
%_
собирает экземпляров переданных именованных аргументов. Это локальный хеш для блока, в котором он не имеет отношения к хешу, используемому для вставки аргументов. Его стандартным значением по умолчанию является значение по умолчанию, равноеAny
, точно так же, как и с объявленнымmy
хешем:my %foo; say %foo.default; # (Any)
Существует ли метод передачи значения по умолчанию хэша при вставке в дополнительный вызов?
blockquote>Вы можете сделать это:
my %hash is default(222)=(a=>0,b=>111); sub test {say %_
} test |%hash, :hash-default(%hash.default); #outputs 222
«Путь maven» состоит в том, чтобы разделить src / main / java
на отдельный модуль и зависит от этого файла военных действий.
Если вы абсолютно устойчивы к такому подходу, вы можете использовать профиль для изменения содержимого элемента упаковки
. Хотя я не уверен, возможно ли это.
Вы должны добавить соответствующую зависимость артефакта в зависимости файла pom.
Пример:
<dependency>
<groupId>org.apache.myfaces.core</groupId>
<artifactId>myfaces-api</artifactId>
<version>1.2.2</version>
<scope>compile</scope>
</dependency>
Разделение их это правильный путь Заставить maven производить войну и банку в одном и том же модуле возможно, но у вас возникнут проблемы в будущем.
Один из способов решить эту проблему - использовать модуль построить банку, а затем использовать плагин сборки для создания файла войны с банкой в WEB-INF / lib этой войны. Я настоятельно не рекомендую этого делать. Лучше иметь проект jar и военный проект с родительским проектом, строящим оба модуля.
Это сообщение в блоге и его комментарии содержат ответ.
Эти три конфигурации плагина позволят вам создать / установить / развернуть версию jar одновременно с войной.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
<id>make-a-jar</id>
<phase>compile</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<executions>
<execution>
<phase>install</phase>
<goals>
<goal>install-file</goal>
</goals>
<configuration>
<packaging>jar</packaging>
<artifactId>${project.artifactId}</artifactId>
<groupId>${project.groupId}</groupId>
<version>${project.version}</version>
<file>
${project.build.directory}/${project.artifactId}-${project.version}.jar
</file>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<executions>
<execution>
<phase>deploy</phase>
<goals>
<goal>deploy-file</goal>
</goals>
<configuration>
<packaging>jar</packaging>
<generatePom>true</generatePom>
<url>${project.distributionManagement.repository.url}</url>
<artifactId>${project.artifactId}</artifactId>
<groupId>${project.groupId}</groupId>
<version>${project.version}</version>
<file>${project.build.directory}/${project.artifactId}-${project.version}.jar</file>
</configuration>
</execution>
</executions>
</plugin>