我需要使用Maven(为学校项目)创建从一个单一的maven命令的可执行文件。我从来没有使用Maven和这里试穿stackoverlow很多解决方案。该解决方案创建一个jar文件,但该文件从来没有打开。
这是我的项目结构
src
com
project
code
swing
programm
interface
Main.class
我知道这是不是行家惯例,但是现在正在改变这将意味着我将不得不调整进口(如的IntelliJ不重构一切完美)大约40类。
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>MyGroup</groupId>
<artifactId>myProgramm</artifactId>
<version>0.7-SNAPSHOT</version>
<packaging>jar</packaging>
<name>Hello World</name>
<description>Course Project</description>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<!-- https://mvnrepository.com/artifact/org.xerial/sqlite-jdbc -->
<dependency>
<groupId>org.xerial</groupId>
<artifactId>sqlite-jdbc</artifactId>
<version>3.25.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.junit/junit5-engine -->
<dependency>
<groupId>org.junit</groupId>
<artifactId>junit5-engine</artifactId>
<version>5.0.0-ALPHA</version>
</dependency>
</dependencies>
<build>
</build>
我有什么把里面做一个可执行文件?
你需要插件添加到您的pom.xml
文件
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<configuration>
<mainClass>com.example.Main</mainClass>
</configuration>
</plugin>
</plugins>
</build>
并运行该程序:mvn clean install exec:java
......这里是链接文档http://www.mojohaus.org/exec-maven-plugin/usage.html
有可能不同的解决方案,取决于您的要求:https://www.baeldung.com/executable-jar-with-maven
TimurJD的答案是正确的,但是我想说明一步步什么是真正发生的事情及其原因。
main
方法。main
方法的类,它是这样做了参考:
Main-Class: com.example.ClassContainingMainMethod
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.1.1</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass>com.my.packege.Main</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
pom.xml
插件只需运行行家install
目标,无论是从你的IDE或命令行。之后,你应该找一个在您的项目称为target
文件夹。该文件夹将包含可执行的JAR文件。java -jar MyProject.jar
还应该注意的是,除非你保持你的源代码src/main/java
你必须明确指定你的源文件夹的Maven的标准遵守。