Eu quero executar comandos shell do Linux com o Maven. Aqui está o que eu tentei:
org.codehaus.mojo exec-maven-plugin 1.1.1 exec hostname
Aqui está o que está funcionando para mim:
exec-maven-plugin org.codehaus.mojo Version Calculation generate-sources exec ${basedir}/scripts/calculate-version.sh
O problema aqui é que eu não sei o que é esperado . Com sua configuração atual, invocar o plug-in na linha de comando funcionaria:
$ mvn exec: exec [INFO] Verificando projetos ... [INFO] ----------------------------------------------- ------------------------- [INFO] Edifício Q3491937 Segmento de tarefa [INFO]: [exec: exec] [INFO] ----------------------------------------------- ------------------------- [INFO] [exec: exec {execução: default-cli}] [INFO] laptop [INFO] ----------------------------------------------- ------------------------- [INFO] CONSTRUIR BEM SUCEDIDO [INFO] ----------------------------------------------- ------------------------- ...
A configuration
global é usada, o comando hostname
é executado ( laptop
é meu nome de host). Em outras palavras, o plug-in funciona conforme o esperado.
Agora, se você quiser que um plug-in seja executado como parte da compilation , é necessário vincular uma meta em uma fase específica. Por exemplo, para ligá-lo na compile
:
org.codehaus.mojo exec-maven-plugin 1.1.1 some-execution compile exec hostname
E depois:
compilation $ mvn [INFO] Verificando projetos ... [INFO] ----------------------------------------------- ------------------------- [INFO] Edifício Q3491937 [INFO] task-segment: [compile] [INFO] ----------------------------------------------- ------------------------- [INFO] [resources: resources {execução: resources padrão}] [INFO] Usando a codificação 'UTF-8' para copiar resources filtrados. [INFO] pule o recurso não existenteDirectory / home / pascal / Projects / Q3491937 / src / main / resources [INFO] [compilador: compile {execution: default-compile}] [INFO] Nada a compilar - todas as classs estão atualizadas [INFO] [exec: exec {execução: alguma execução}] [INFO] laptop [INFO] ----------------------------------------------- ------------------------- [INFO] CONSTRUIR BEM SUCEDIDO [INFO] ----------------------------------------------- ------------------------- ...
Observe que você pode especificar uma configuration
dentro de uma execution
.
Resolvido O problema é que o executável está funcionando de uma maneira diferente no Linux. Se você deseja executar o arquivo .sh, escreva no caminho abaixo. Escreva em pom.xml
exec-maven-plugin 1.6.0 org.codehaus.mojo Renaming build artifacts package exec bash handleResultJars.sh
2 opções:
npm start
com o maven, você pode conseguir com o seguinte: mvn exec:exec -Pstart-node
Para isso, você precisa da seção abaixo do maven
start-node org.codehaus.mojo exec-maven-plugin 1.3.2 exec npm start
npm install
você pode fazer isso com: mvn install
E para isso funcionar, você precisaria da seção abaixo:
org.codehaus.mojo exec-maven-plugin 1.3.2 npm install (initialize) exec initialize npm install