знаток развертывает дополнительный файл банки

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
22
задан matt b 25 September 2009 в 20:59
поделиться

5 ответов

«Путь maven» состоит в том, чтобы разделить src / main / java на отдельный модуль и зависит от этого файла военных действий.

Если вы абсолютно устойчивы к такому подходу, вы можете использовать профиль для изменения содержимого элемента упаковки . Хотя я не уверен, возможно ли это.

5
ответ дан 29 November 2019 в 03:58
поделиться

Вы должны добавить соответствующую зависимость артефакта в зависимости файла pom.

Пример:

<dependency>
        <groupId>org.apache.myfaces.core</groupId>
        <artifactId>myfaces-api</artifactId>
        <version>1.2.2</version>
        <scope>compile</scope>
</dependency>
2
ответ дан 29 November 2019 в 03:58
поделиться

Разделение их это правильный путь Заставить maven производить войну и банку в одном и том же модуле возможно, но у вас возникнут проблемы в будущем.

3
ответ дан 29 November 2019 в 03:58
поделиться

Один из способов решить эту проблему - использовать модуль построить банку, а затем использовать плагин сборки для создания файла войны с банкой в ​​WEB-INF / lib этой войны. Я настоятельно не рекомендую этого делать. Лучше иметь проект jar и военный проект с родительским проектом, строящим оба модуля.

0
ответ дан 29 November 2019 в 03:58
поделиться

Это сообщение в блоге и его комментарии содержат ответ.

Эти три конфигурации плагина позволят вам создать / установить / развернуть версию 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>
22
ответ дан 29 November 2019 в 03:58
поделиться
Другие вопросы по тегам:

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