【问题标题】:Compiles with NetBeans but can't compile or run from bash使用 NetBeans 编译,但无法从 bash 编译或运行
【发布时间】:2013-01-29 18:36:11
【问题描述】:

我已经研究了几个星期,但似乎无法弄清楚。 我有一个使用 NetBeans 编写的 Java 程序。它有几个依赖的导入或 .jar 文件。它在 NetBeans 中运行良好。但我不知道如何调用 .jar 文件并从 bash 命令行编译。我正在使用 Mac。我已经阅读了几篇关于此的帖子,但到目前为止没有一篇对我有意义。程序中使用了 26 个导入。不知道是需要用Ant还是指定-CP或者Classpath来编译。当然,我不必键入每个 .jar 文件来从 bash 命令行编译它吗?

Java(TM) SE 运行时环境(内部版本 1.7.0_09-b05)

【问题讨论】:

  • 如果您使用每个 jar 中的类,那么是的,您需要在类路径中列出每个 jar。
  • 你不能只使用某种类型的通配符来调用包含文件夹吗?

标签: java netbeans


【解决方案1】:

您应该能够在 Netbeans 项目目录中简单地使用带有 build.xml 的 ant。它应该为您“正常工作”。如果没有安装 Netbeans,该项目可能无法构建(例如,如果您尝试将项目移动到另一台机器),但使用 Netbeans,它应该可以开箱即用。

如果您没有安装 Ant,则需要安装它。

附录:

要构建它,如果你安装了 Ant,你应该能够简单地进入 build.xml 文件所在的项目目录,然后输入“ant”,它应该构建并将内容放入 dist目录。

如果您进入dist 目录并输入java -jar yourapp.jar,它应该会运行,因为jar 中的清单将指向附近的lib jar 文件。如果您想分发应用程序,java 有不同的选项,例如制作与 Mac 兼容的应用程序或 Windows EXE,您需要搜索这些。或者您可以简单地分发 dist 目录的内容并编写一个脚本来执行整个 java -jar yourapp.jar 命令。

【讨论】:

  • “ant with the build.xml”是什么意思?我还需要能够在其他计算机上将其作为独立应用程序运行。那可能吗?感谢您的帮助!
  • 我尝试在我的项目所在的目录中运行ant build.xml。我得到“ BUILD FAILED Target "build.xml" does not exist in project "surveymonkey".
  • 只需输入ant,不需要build.xml。您还应该访问 Apache 的 Ant 站点并阅读一些关于 Ant 的文档。
  • 我知道,我需要阅读大量文档。但与此同时,我也正忙于工作以完成这项工作。但我在学习!再次感谢您。
【解决方案2】:

如果你使用的是Java 1.6或更高版本,你可以将所有26个jar文件都扔到一个文件夹中,然后简单地添加

-cp folder_name/*

作为你的类路径参数。

其他一些选项是 1.) 在命令行中键入所有 26 个 jar 文件(使用您提到的 -cp 参数) 2.) 使用 Ant 或 Maven 或其他构建工具并在配置该构建工具的文件或 3.) 编写一个快速而简单的 shell 脚本,该脚本将为您设置 CLASSPATH 环境变量,然后运行您的 javac 命令。

【讨论】:

  • 我喜欢 shell 脚本选项的声音。因为我的 Java 程序将从 shell 脚本中调用。 shell 脚本可能是什么样的。谢谢!
  • 原谅我缺乏Mac知识,我主要使用cygwin。但我会尝试:如果您选择将所有 jar 放入单个文件夹(它们可能已经是),那么您可以只使用一个衬里。类似于javac -cp folder_name/*.jar $(find . -name *.java)。如果您正在考虑 CLASSPATH 选项,那么您的脚本在第一行可能类似于 CLASSPATH='myjar.jar:myother.jar....',然后第二行可能只是 javac $(find . -name *.java)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-07-15
  • 2021-11-02
  • 2018-03-26
  • 1970-01-01
  • 2017-10-01
  • 2016-06-02
  • 2016-09-30
相关资源
最近更新 更多