Maven使用正确的文件夹路径在pom.xml中添加mainClass

我想用我的maven项目得到一个工作的jar文件。

构建部分是:

   org.apache.maven.plugins maven-checkstyle-plugin 2.14   com.puppycrawl.tools checkstyle 6.4.1    true ${basedir}/src/test/resources/checkstyle_swt1.xml    org.apache.maven.plugins maven-assembly-plugin 2.4  src/assembly/src.xml    package  single         org.apache.maven.plugins maven-compiler-plugin 3.0  1.7 1.7   true true true org.jis.Main        

所以我现在的问题是我不知道如何将mainclass正确地实现到我的pom.xml中,然后再进入我的jar文件。 文件夹结构是:src / main / java / org / jis / Main.java但是如果我添加以下行

 src.main.java.org.jis.Main 

它不起作用。

提前致谢

首先,您的主类不包含src/main/java 。 查看该Java文件中的包声明。 例如, package org.jis; ,然后将主类添加到其中。 换句话说,它只是org.jis.Main

您需要配置maven-jar-plugin而不是maven-compiler-plugin。 jar-plugin是负责打包和创建manifest.MF的插件。

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

     org.apache.maven.plugins maven-jar-plugin ...    true fully.qualified.MainClass    ...    

您必须使用主类的完全限定名称:

 org.jis.Main 

基本上Maven是一个框架,它为每个为构建项目而执行的每个操作都有一个maven-plugin集合。

每个构建阶段由相应的maven-plugin使用项目描述项目对象模型(POM)执行

所以maven-compiler插件只负责编译项目,它不会创建清单文件。

maven-jar-plugin负责创建项目的清单文件。

如果您正在使用Spring Boot Application。 在pom.xml中添加以下内容

   org.springframework.boot spring-boot-maven-plugin  

这将在MANIFEST.MF文件中添加Main-Class条目。