2013-11-21 4 views
0

현재 maven을 사용하여 문제를 다루고 있습니다. maven을 사용하여 소프트웨어를 빌드 할 때 파일을 업데이트하려고합니다. 어떤 이유로 mvn을 사용하여 빌드 할 때 powershell 스크립트를 사용하여 실행해야합니다. 여기 내 코드는 다음과 같습니다.maven에서 powershell 스크립트를 실행하는 방법

<exec executable="powershell.exe" 
         spawn="true"> 
        <arg value="/c"/> 
        <arg value="myReplace.ps1"/> 
        <arg value="../../the/path/to/the/directory/" /> 
        <arg value ="filename"/> 
        <arg value="value1" /> 
        <arg value="value2" /> 
        <arg value="value3" /> 
      </exec> 

예상대로 작동하지 않습니다. 누군가 도와 줄 수 있습니까?

+2

오류 메시지를 보내주십시오. –

+0

개미와 비슷합니다. 당신이 말했고 (그리고 Maven에 태그를 달았습니다). 방법 것입니다? [Exec Maven Plugin] (http://mojo.codehaus.org/exec-maven-plugin/usage.html)을 사용하고 싶지 않으십니까? –

답변

0

이 메시지는 잠시 동안이지만 마지막 날에는 연습을 들었습니다. 핵심은 명시된대로 exec 플러그인을 사용하는 것입니다. 다음은 프로젝트의 pom.xml에있는 예제입니다.

아래 코드는 PowerShell 모듈 스크립트에서 코드 서명을 시작합니다. 명령 줄에서 PowerShell 함수를 호출하려면 명령 문자열을 시작해야하며 &은 Maven에서 제대로 처리하지 않아야합니다. 그것을 피하는 것은 트릭을합니다. 보다 복잡한 작업을 수행하려면 PS 스크립트를 호출하십시오.

... 
     <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>exec-maven-plugin</artifactId> 
      <version>1.3.2</version> 
      <executions> 
       <execution> 
        <id>scripts-package</id> 
        <goals> 
         <goal>exec</goal> 
        </goals> 
        <phase>prepare-package</phase> 
        <configuration> 
       <!-- optional --> 
        <workingDirectory>/Temp</workingDirectory> 
        <arguments> 
         <argument>-command</argument> 
         <argument>"&amp; { Set-AuthenticodeSignature '${project.build.directory}/Logging_Functions/*.psm1' @(Get-ChildItem ${project.build.certificate.path} -codesigning)[0]"}</argument> 
        </arguments> 
        </configuration> 
       </execution> 
관련 문제