java - 将 Jar 文件作为独立应用程序执行

标签 java maven javafx maven-3

我想将 jar 文件作为独立应用程序执行。当我运行以下命令时,我收到此错误消息:

[rcbandit@Laptop target]$ /opt/jdk1.8.0/bin/java -jar DX57DC-1.0.jar
no main manifest attribute, in DX57DC-1.0.jar
[rcbandit@Laptop target]$ 

这是 POM 配置:

<?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>com.dx57dc</groupId>
    <artifactId>DX57DC</artifactId>
    <version>1.0</version>
    <packaging>jar</packaging>

    <name>DX57DC</name>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <mainClass></mainClass>
    </properties>

    <organization>
        <name>Corporation Name</name>
    </organization>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>2.8</version>
                <executions>
                    <execution>
                        <id>unpack-dependencies</id>
                        <phase>package</phase>
                        <goals>
                            <goal>unpack-dependencies</goal>
                        </goals>
                        <configuration>
                            <excludeScope>system</excludeScope>
                            <excludeGroupIds>junit,org.mockito,org.hamcrest</excludeGroupIds>
                            <outputDirectory>${project.build.directory}/classes</outputDirectory>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>com.zenjava</groupId>
                <artifactId>javafx-maven-plugin</artifactId>
                <version>2.0</version>
                <configuration>
                    <mainClass>com.dx57dc.main.DX57DC</mainClass>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>

我想我缺少一个 maven 插件。你能告诉我如何解决这个问题吗?

最佳答案

您的 jar 不包含指定可执行 main() 函数的 list ,因此 java 不知道要执行/启动哪个类。

使用 maven 时,请查看 assembly 插件。这使您能够创建具有正确 list 的 jar。

或者简单地开始你的程序:java -cp DX57DC-1.0.jar 'your_main_class_here'

问候,

迈克

关于java - 将 Jar 文件作为独立应用程序执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18411005/

相关文章:

java - 如何在不使用 hasNextInt() Java 的情况下从文本文件读取整数

android - 如何使用gradle将所有 flavor APK上传到nexus?

spring - Maven 不会使用 1.7 JDK 编译 Java 7

java - 将 javafx 中的 DatePicker 字段设置为空字段?

java - 为什么没有选项可以使用自定义消息重新抛出异常?

java - Akka 远程处理 : Dead Letters after enabling Serialization

java - Android目标文件损坏

java - 在maven java项目中使用SQLcl

java - 检查日期是否在范围内

javafx - 如何观察子节点的可见性?