Pergunta

Existe uma "fase" Maven ou "meta" para simplesmente executar o método principal de uma classe Java? Eu tenho um projeto que eu gostaria de testar manualmente, basta fazer algo como "run mvn".

Foi útil?

Solução

Veja a exec Maven plug-in . Você pode executar classes Java usando:

mvn exec:java -Dexec.mainClass="com.example.Main" [-Dexec.args="argument1"] ...

A invocação pode ser tão simples como mvn exec:java se a configuração do plugin está na sua pom.xml. O site plugin em Mojohaus tem um mais detalhado exemplo .

<project>
    <build>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <version>1.2.1</version>
                <configuration>
                    <mainClass>com.example.Main</mainClass>
                    <arguments>
                        <argument>argument1</argument>
                    </arguments>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

Outras dicas

As respostas acima mencionados estão corretas, mas eu estou simplificando-o para noobs como me.Go para arquivo pom do seu projeto. Adicionar um novo exec.mainClass propriedade e dar o seu valor como a classe que contém o método principal. Para mim, foi DriverClass em mainpkg. Mudá-lo de acordo com seu projeto. enter descrição da imagem aqui

Tendo feito isso Navegue até a pasta que contém pom.xml do seu projeto e executar este no prompt de comando mvn exec:java. Isso deve chamar o método principal.

1. Editar pom.xml

Adicione a seguinte propriedade em pom.xml. Certifique-se de usar o nome de classe totalmente qualificado (ou seja, com o nome do pacote) que contém o método main:

<properties>
        <exec.mainClass>${fully-qualified-class-name}</exec.mainClass>
</properties>

2. Executar Comando

Agora, a partir da, gatilho o seguinte comando terminal:

mvn clean compile exec:java

NOTA Você pode passar mais argumentos via bandeira -Dexec.args="xxx".

Dê o Exec Maven plug-in uma tentativa

Não há necessidade de adicionar novo plugin no POM. Basta executar este comando

mvn org.codehaus.mojo:exec-maven-plugin:1.5.0:java -Dexec.mainClass="com.example.Main" | grep -Ev '(^\[|Download\w+:)' 

Veja a Maven exec plugin de para mais uso.

comando clean package exec:java -P Class_Containing_Main_Method também é uma opção se você tiver apenas um método Main (PSVM) no projeto, com a seguinte configuração Maven.

Não esqueça de mencionar a classe na seção <properties></properties> de pom.xml:

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <java.main.class>com.test.service.MainTester</java.main.class>
</properties>

<plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>exec-maven-plugin</artifactId>
        <version>1.2.1</version>
        <configuration>
           <mainClass>${java.main.class}</mainClass>
        </configuration>
</plugin>

STS Configuração de execução juntamente com acima de configuração Maven:

enter descrição da imagem aqui

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top