当前位置: 首页 > 面试题库 >

如何使用此文件夹结构进行编译和运行

曹建明
2023-03-14
问题内容

我在src / net / …文件夹中有我的Java源文件,在lib文件夹中有.jar文件。如何在不编写构建脚本的情况下使用命令行编译和运行此文件?


问题答案:

假设您有代码文件

[someDirectory]
  |
  +-[lib]
  |  |
  |  +-someLib.jar
  |  +-someOtherLib.jar
  |  +-...
  |
  +--[src]
       |
       +-[net]
           |
           +-[name]
                |
                +-[one]
                   |
                   +-[two]
                       |
                       +-[main]
                           |
                           +-Main.java <- code you want to compile
                                          and execute

那么如果您的控制台在

someDirectory>

你可以用它编译

someDirectory>javac -cp "lib\*" src\net\name\one\two\main\Main.java

但这将Main.class在与该目录相同的目录中生成文件,Main.java以便从net.name.one.two.main.Main类执行代码,您需要将src目录包括到classPath中,因为此目录包含Main放置该类的包,因此您需要使用命令

someDirectory>java -cp "src;lib\*" net.name.one.two.main.Main

但是,最好将类文件与源文件分开。为此,您可以-d在编译通过目录时添加(directory)参数,该目录应该已经编译了类文件。因此,首先classes在与目录相同的级别上创建src目录并执行

someDirectory>javac -d "classes" -cp "lib\*" src\net\name\one\two\main\Main.java

现在要能够执行您的Main类,而不是通过src目录对classPath 造成混乱,您将必须添加classes更直观的目录。

someDirectory>java -cp "classes;lib\*" net.name.one.two.main.Main.java


 类似资料:
  • 问题内容: 我在编译代码时收到一条消息: 如何重新编译? 问题答案: 在javac的命令行上指定它: javac -Xlint:unchecked 或者,如果您使用的是Ant,请修改您的javac目标 如果您使用的是Maven,请在

  • 问题内容: 我在文件MyClass.java文件中有一个名为MyClass的类(下面提到的代码) 我在上课 但是我正在尝试使用 要么 我遇到错误 但是,如果我省略了软件包名称,则可以运行该程序。我要去哪里错了? 问题答案: 确保您位于包文件夹(已编译的类文件所在的文件夹)的父目录中,并执行以下命令: 下面是一个示例文件结构: 在上面的示例结构中,您将必须从“ bin”目录中执行命令。 另外,将类定

  • 问题内容: 我正在尝试(从命令行)编译一个Java包,该包会导入我自己的另一个包。我正在网上关注教程,但是当我尝试编译最终的Java文件(CallPackage.java)时似乎出现错误。 这是文件结构: 这是CallPackage.java: 这是HelloWorld.java: 尝试的步骤 转到子包并使用编译HelloWorld.java 。 转到test_directory并使用编译Call

  • 我在读Rust编程语言书,偶然发现了一个简单的表达式: match如何处理不同类型的表达式?E、 g.第一个臂将简单地“return”

  • 问题内容: 我正在编译一个简单的程序 我在命令提示符下输入了Java Test.java,但没有成功 我没有使用任何IDE 我应该在哪里将程序文件放在计算机上 谢谢 问题答案: 您不能直接运行Java源文件。您需要先使用进行编译: 然后,您将获得一个可以运行的.class文件:

  • 主要内容:C++源文件的后缀,g++ 命令C++ 和C语言类似,也要经过编译和链接后才能运行。在《 C语言编译器》专题中我们讲到了 VS、Dev C++、VC 6.0、Code::Blocks、C-Free、 GCC、Xcode 等常见 IDE 或编译器,它们除了可以运行C语言程序,还可以运行 C++ 程序,步骤是一样的,这里不再赘述,读者需要留意的是 C++ 源文件的后缀,以及 GCC 中的 命令。 下图是 C/C++ 代码生成可执行文