【问题标题】:How do I compile and run Intelij IDEA java project without IDE?如何在没有 IDE 的情况下编译和运行 Intellij IDEA java 项目?
【发布时间】:2014-04-04 08:30:24
【问题描述】:

最近我试图运行2048 bot。我不是java 程序员,安装IDE 只是为了运行一个程序将是矫枉过正。所以我尝试从命令行编译和运行它,但这对我来说不是一个简单的任务,主要是因为the dependencies。然后有人告诉我,maven 可能会派上用场。所以我想知道是否可以使用maven 或他们拥有的任何工具轻松编译和运行程序,而无需安装IDE

【问题讨论】:

  • 看看我的帖子,里面有你需要的所有说明,谢谢! stackoverflow.com/questions/63830611/…>

标签: java maven compilation


【解决方案1】:

pom.xml 文件将包含编译它所需的所有内容。在这种特殊情况下,它只声明一个依赖项,selenium-firefox-driver。使用 maven,所有 POM(项目对象模型)文件都从“主”父 POM 文件继承默认值。 Maven 使用“约定优于配置”的理念。任何未明确配置的内容,默认为来自作为 maven 一部分的父 pom 的标准配置。这就是为什么您可以从这样一个看似简单的 POM 文件构建项目的原因。

您将无法从 IntelliJ IDEA 模块 (.iml) 文件运行构建。事实上,IntelliJ IDEA 从 POM 生成该文件。

首先,确保您拥有Java JDK installed。 Java 8 是最新的。但是 Java 7 JDK 就可以了。之后,Running Maven 链接 @jeroen_de_schutter 提供了您需要的所有信息。单击该文档顶部的链接到Download and Install Maven。完成后,从命令行导航到包含项目的目录(即其中包含 pom.xml 文件的目录)并发出命令:mvn compile 编译您的代码,mvn test 编译和测试,或mvn package 编译、测试和打包代码。您可以将clean 添加到任何这些命令中,以便 maven 进行干净的构建。例如:mvn clean package。请参阅 Running Maven 文档中的第二个Quick Start 和第三个Use Maven 链接以获取更多详细信息和信息。

请注意,第一次运行构建(任何 maven 构建)时,它会花费比正常时间更长的时间。这是因为 maven 必须下载(和缓存)大量插件和依赖项。一旦完成,构建就会快得多。但是,当您第一次构建新项目时,第一次构建会花费一些时间,因为它会下载并缓存该项目所需的尚未检索到的依赖项和插件。

【讨论】:

  • 感谢您的详细解答。事情越来越清楚了。不过,我可能还不够清楚。我能够编译该程序,因为我知道存在 selenium 依赖项。所以我刚刚下载了他们下载页面上标有java的第一个东西。然后javac Program.java -cp selenium-java...jar 就在那里,等我运行它。但随后真正的问题开始了。突然,selenium-java...jar 已经不足以运行该程序了。最后,我运行了程序,但这太难了。
  • 现在我意识到,maven 与第二部分无关,即运行程序。所以我看到了以下几种运行程序的方法:1)运行程序,查看需要哪些类,下载并添加对应的jar-file,依此类推,直到它刚刚运行(见my answer中的最后一个shell脚本) , 2) 看看iml-file,他们都应该在那里。如果iml-file 存在,则第二种方法似乎更容易。有没有更好的方法来运行程序?
【解决方案2】:

可以,请确保您已安装 Java 开发工具包和 Maven。然后按照Maven user guides,您应该能够构建并运行它。 但是如果你从来没有使用过 maven 可能并不简单,所以如果你碰巧知道的话,我建议向有经验的 Java 开发人员寻求帮助。

【讨论】:

  • 所以我在这里,询问一位经验丰富的 Java 开发人员 ;) 据我所知,pom.xml 没有包含足够的信息。 2048_Bot.iml 看起来更像它,但这是IDEA 的文件,maven 不会读取,我接受。通过检查2048_Bot.iml,我可以手动运行它,下载并指定所有依赖项。但是我想知道maven是否可以简化任务。
  • pom 应该有你需要的一切。 iml 文件是供 intellij 使用的,而不是供人类使用的——它包含 IntelliJ 需要的东西,而不是您需要的东西。 pom就是一切,相信它。
猜你喜欢
  • 1970-01-01
  • 2011-05-20
  • 1970-01-01
  • 2015-03-12
  • 1970-01-01
  • 2019-03-25
  • 2020-03-04
  • 2015-08-09
  • 1970-01-01
相关资源
最近更新 更多