Maven adding mainClass in pom.xml with the right folder path Maven adding mainClass in pom.xml with the right folder path xml xml

Maven adding mainClass in pom.xml with the right folder path


First, your main class doesn't include src/main/java. Look at the package declaration in that Java file. For example, package org.jis;, then add the main class to that. In other words, it's only org.jis.Main.

You need to configure the maven-jar-plugin instead the of the maven-compiler-plugin. The jar-plugin is the one which is responsible for packaging and creating the manifest.MF.

From http://maven.apache.org/shared/maven-archiver/examples/classpath.html

  <build>    <plugins>      <plugin>        <groupId>org.apache.maven.plugins</groupId>        <artifactId>maven-jar-plugin</artifactId>        ...        <configuration>          <archive>            <manifest>              <addClasspath>true</addClasspath>              <mainClass>fully.qualified.MainClass</mainClass>            </manifest>          </archive>        </configuration>        ...      </plugin>    </plugins>  </build>


You may mention as below if it's a spring boot application.

<build>    <plugins>        <plugin>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-maven-plugin</artifactId>            <configuration>                <mainClass>com.test.MainClass</mainClass>            </configuration>                           </plugin>    </plugins></build>


Basically Maven is a framework which have a collection of maven-plugin for each and every action performed to build a project.

Each Build Phase is performed by corresponding maven-plugin using project's description Project Object Model(POM)

So maven-compiler plugin is just responsible to compile the project and it won't create the manifest file.

maven-jar-plugin is responsible for creating the manifest file of the project.