IntelliJ Maven 和 JavaFX

IntelliJ Maven and JavaFX

我是 IntelliJ 和 Maven 的新手,按照现在的习惯,我遇到了一个问题。我在 IntelliJ 中创建了一个 Maven 项目,运行 很好地来自 IntelliJ。但是,当我进行全新安装时,最终出现在目标文件夹中的 jar 不会 运行。我收到以下错误:"Error: Could not find or load main class test2.jar" 尝试从终端 运行 时。我希望这与 MANIFEST 文件(我似乎无法在我的项目结构中找到)有关,但我真的不知道。这是一个普遍的问题还是我特别粗心?有谁知道解决这个问题的方法?

我认为我的源代码不会对您有特别的帮助,但我可能是错的。所以如果你想要它,我可以在编辑中 post 它。

感谢您的帮助!

您必须先创建一个工件。按照这些步骤

  1. 转到文件 --> 项目结构
  2. 单击“工件”选项卡
  3. 单击 + 按钮并选择 JavaFX 应用程序 [来自模块 'YourModule'] []1

  4. 如果您使用任何外部库,则需要像这样包含在工件中

    • 右键单击 (YourApp.jar) --> 添加副本 --> 库文件
    • Select项目需要的库文件,点击确定
  5. 点击右侧的Java FX选项卡,然后点击3点按钮选择应用程序class [扩展应用程序的class ] []4

  6. 单击确定,然后转到构建 --> 构建工件,然后构建项目。

您可以创建一个可执行文件 jar,其中包含其所有依赖项。它在清单中设置包含 main() 方法的 class 并允许您 运行 您的应用程序:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-assembly-plugin</artifactId>
            <configuration>
                <archive>
                    <manifest>
                        <mainClass>com.example.mainClass</mainClass>
                    </manifest>
                </archive>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
            </configuration>
            <executions>
                <execution>
                    <id>make-assembly</id>
                    <phase>package</phase>
                    <goals>
                        <goal>single</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

fat jar 及其所有依赖项(当然除了 jre)将构建到您的目标文件夹中。你可以 运行 它与:

java -jar your-application-1.0-jar-with-dependencies.jar

要更改 jar 名称的输出或任何其他调整,请查看 assembly plugin documentation