Не удается запустить файл JAR в командной строке с Maven - PullRequest
2 голосов
/ 21 марта 2019

Я пытаюсь запустить файл jar, упакованный Maven. Когда я запускаю java -jar target/java-prac-1.0-SNAPSHOT.jar, я получаю следующий вывод: no main manifest attribute, in target/java-prac-1.0-SNAPSHOT.jar

pom.xml


<?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>localdomain.localhost.tutorial</groupId>
    <artifactId>java-prac</artifactId>
    <version>1.0-SNAPSHOT</version>
    <dependencies></dependencies>

    <build>
        <plugins>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                    <manifest>
                       <mainClass>localdomain.localhost.tutorial.Main</mainClass>

                    </manifest>
                </configuration>
            </plugin>

        </plugins>
</build>
</project>           

Мой файл MANIFEST.MF выглядит как


Manifest-Version: 1.0                                                                                                            
Main-Class: localdomain.localhost.tutorial.Main

Интересно то, что когда я запускаю ls target/classes, папка 'META-INF /' появляется в списке. Таким образом, файл, кажется, находится в файле jar, java просто не может найти его по какой-то причине.

Ответы [ 2 ]

3 голосов
/ 21 марта 2019
  1. вы можете добавить эти плагины в ваш pom.xml файл
        <plugins>          
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <configuration>
                    <archive>
                        <manifest>
                            <addClasspath>true</addClasspath>
                            <!--add you main class-->
                            <mainClass>cn.lonecloud.RefDemo</mainClass>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <executions>
                    <execution>
                        <id>copy</id>
                        <phase>install</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>
                                ${project.build.directory}
                            </outputDirectory>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <configuration>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
        </plugins>
запустить эту команду
mvn compile package
запустите файл jar
java -jar target/java-prac-1.0-SNAPSHOT.jar
0 голосов
/ 21 марта 2019

Попробуйте добавить следующие узлы в файл pom.xml:

<build>
     <plugins>
         <plugin>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-maven-plugin</artifactId>
         </plugin>
     </plugins>
</build>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...