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条目。