gpt4 book ai didi

java - 无法将 IntelliJ IDEA 程序编译为可运行的 JAR

转载 作者:行者123 更新时间:2023-12-02 11:34:06 26 4
gpt4 key购买 nike

我正在开展一个学校项目,其中我正在使用 MacOS 上的 IntelliJ IDEA 编写一个 Scala 类作为 Java 项目的一部分。文件夹结构如下:

TopLevelFolderName
.idea
.settings
bin
classes
artifacts
TopLevelFolderName.jar
src
dir1
JavaClass.java
Main.java
dir2
ScalaClass.scala
META-INF
.classpath
.project
TopLevelFolderName.iml

我可以使用 ScalaClass 中的 Scala 代码构建并运行程序,以运行 Main 类中的 main 函数。

但是,当我设置项目结构以在 classes/artifacts 文件夹中构建 JAR 时,当我转到菜单并单击 Run TopLevelFolderName 时,JAR 文件不起作用.jar。我收到错误:

Exception in thread "main" java.lang.NoClassDefFoundError: scala/Tuple2

有谁知道如何设置我的项目,以便包含 Scala 标准依赖项并可供 JAR 文件访问?这是我第一次使用 IntelliJ IDEA。

谢谢您,如果我可以提供更多信息,请告诉我。

最佳答案

问题是您的 JAR 具有依赖项,包括 Scala 运行时,需要在运行时使用 -classpath 参数将其传递给 java

如果您在 IntelliJ 中单击“play”来运行您的项目,那么您将在输出开始处看到 IntelliJ 使用的 java 命令(如果需要,单击“...”将其展开)。您会注意到该命令包含一个 -classpath 参数,其中包含一长串所需的 JAR。如果需要,您可以将此命令复制并粘贴到 shell 中以运行 JAR。

我认为您可能正在寻找的是如何创建一个包含所有依赖项的单个 JAR,如下所述:How to build jars from IntelliJ properly?

(您还可以通过从 IntelliJ 而不是从 JAR 运行项目来避免此问题,具体取决于您想要实现的目标。)

关于java - 无法将 IntelliJ IDEA 程序编译为可运行的 JAR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49079266/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com