在linux中运行java程序

时间:2012-01-30 19:30:11

标签: java linux

我正在尝试在linux环境中运行java程序。该计划的结构如下。

src(目录)

  • main(目录)

    - test.java

  • 普通(包)

    - a.java

    - b.java

Test.java是我的主程序。

我使用以下命令从src目录级别运行程序。

javac -cp“../../lib/netcdf.jar:/common/*.java”main / test.java

我收到与找不到的包相关的错误,并且找不到它下面的所有类。

请你帮我解决一下。

由于

4 个答案:

答案 0 :(得分:2)

Java不会扩展glob(*),除非它是路径的最后一段(在这种情况下它会扩展到所有jar文件)。已经有一段时间了,但我相信你应该能够完全离开*.java-cp "../../lib/netcdf.jar:common")。并且您似乎正在使用/common,这会使其在系统的根目录中找到名为common的文件夹。

答案 1 :(得分:2)

这里有一些问题。

首先,javac compiles 您的类文件(.class)中的代码。它不运行代码,而是将源代码转换为可以运行的形式。

编译代码时,所有.java文件都应根据其包进行结构化。因此,您不能随意决定将一些java文件放在一个文件夹中,而将一些文件放在另一个文件夹中。例如,如果java文件指定“package com.mycompany”并且您的src目录指定为src,那么java文件必须位于“/ src / com / mycompany”中。

在您的代码中,当您需要引用已编译为.class文件的其他代码(通常是外部库)时,您可以指定类路径(这就是为什么它被调用的原因) )。注意,为了清楚起见,我将重复这一点,这不是针对.java文件,而是针对.class文件。有时,许多.class文件被打包到一个存档文件中,称为java存档,或者是“jar”。

另请注意,在unix系统上,“/ common”是绝对path。如果你想要一个相对路径,你应该指定“./common”。

此外,类路径分隔符是“;”不是“:”。

总而言之,如果您的java文件都没有指定显式包,只需将所有.java文件放在同一目录中(我建议使用./src)。然后从src目录运行javac -sourcepath ./src *.java或简单地javac *.java

管理源文件和类文件here还有更多内容。

答案 2 :(得分:2)

我使用以下命令

编译并运行它

javac -classpath'。:../../ lib / *'main / test.java

来源:http://en.wikipedia.org/wiki/Classpath_%28Java%29

答案 3 :(得分:-3)

  1. 打开终端
  2. 输入java
  3. 显示一些包
  4. 您安装此软件包
  5. 现已安装java包
  6. 现在输入java
  7. 输入javac
  8. 输入appletviewer
  9. 你新建一个目录=> md arivu
  10. cd arivu
  11. gedit ex.java
  12. 现在保存
  13. 返回终端
  14. 编译:{{1​​}}
  15. 运行:javac ex.java
  16. 图形代码:
    • javac ex.java
    • appletviewer ex.java