Quero executar comandos do shell do Linux com Maven. Aqui está o que eu tentei:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.1.1</version>
<executions>
<execution>
<goals>
<goal>exec</goal>
</goals>
</execution>
</executions>
<configuration>
<executable>hostname</executable>
</configuration>
</plugin>
Respostas:
Aqui está o que está funcionando para mim:
fonte
<configuration />
deve<executions />
vir depois e não deve ser colocado nela. Levei um bom tempo para encontrar este erro sintático simples. A saída de erro do Maven não é muito útil.<workingDirectory>${basedir}/scripts/</workingDirectory>
bloco de configuração, em vez de fornecer o caminho completo,<executable>
também pode ser uma boa ideiaO problema aqui é que não sei o que é esperado . Com sua configuração atual, invocar o plug-in na linha de comando funcionaria:
O global
configuration
é usado, ohostname
comando é executado (laptop
é meu nome de host). Em outras palavras, o plugin funciona conforme o esperado.Agora, se você deseja que um plugin seja executado como parte da construção , é necessário vincular um objetivo a uma fase específica. Por exemplo, para vinculá-lo a
compile
:E depois:
Observe que você pode especificar um
configuration
dentro de umexecution
.fonte
mvn exec:exec
no pai, o mvn irá executá-lo em todos os projetos da compilação de vários módulos, incluindo o pai. Mas o pom pai não tem nenhuma configuração para o plugin que esperaexecutable
que seja definido, daí a mensagem de erro.configuration
dentro doexecution
bloco, funcionará se for executado como parte de um grupo (mvn install
), mas gerará ospecify the following: <configuration>
erro se for executado diretamente commvn exec:exec
.Resolvido. O problema é que o executável funciona de maneira diferente no Linux. Se você deseja executar o arquivo .sh, deve escrever da maneira abaixo. Escreva em pom.xml
fonte
2 opções:
npm start
com o maven, você pode conseguir isso com o seguinte:mvn exec:exec -Pstart-node
Para isso você precisa da seção maven abaixo
npm install
você pode fazer isso com:mvn install
E para que isso funcione, você precisa da seção abaixo:
fonte
Obrigado! Tomer Ben David. isso me ajudou. como estou fazendo pip install na pasta demo, como você mencionou npm install
fonte