Вы можете использовать плагин maven-shade для сборки uber jar, как показано ниже
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
В PowerShell 4 (3+ на самом деле) самый простой способ - использовать модификатор области видимости Using
:
Invoke-Command -ComputerName winserver -ScriptBlock {
Get-FileHash E:\test\$Using:dest.zip -Algorithm SHA1
}
Для решения, которое работает со всеми версиями:
Invoke-Command -ComputerName winserver -ScriptBlock { param($myDest)
Get-FileHash E:\test\$myDest.zip -Algorithm SHA1
} -ArgumentList $dest
В дополнение полезный ответ briantist :
Блок сценария, переданный в Invoke-Command
, (по назначению) выполнен на удаленном пульте , используя по умолчанию переменные машины remote .
Таким образом, чтобы использовать переменную (значение) local , дополнительные этапы (иначе говоря, внутри блока сценария, выполняемого удаленно, вы не можете просто ссылаться на локальные переменные, как обычно, например $dest
):
using:
для непосредственного использования локальной переменной внутри блока сценария - см. первую команду briantist. Обратите внимание, что using:
работает только тогда, когда Invoke-Command
фактически нацеливается на удаленный компьютер. Для получения дополнительной информации см. Get-Help about_Remote_Variables
или документы в Интернете .