java - 从 CentOS 7 终端调用 java 程序

标签 java linux jdbc terminal centos

我正在使用 the code from this tutorial测试 JDBC 连接。我将类的名称更改为 TestJDBC,并更改了数据库名称和查询,但其他方面是相同的。当我从 devbox 上的 eclipse 中将类作为 Java 应用程序运行时,程序运行正常。但是,当我将文件复制到远程 CentOS 7 服务器上的 /home/username/ 时,在终端中键入 java TestJDBC.java 会产生以下错误:

Error: Could not find or load main class TestJDBC.java

当我尝试 java TestJDBC 以及上传 .class 文件时,除了 .java 文件之外,我也遇到了同样的错误. 我还需要做什么才能从 CentOS 7 终端调用 Java 类?

请注意,javac TestJDBC.java 会导致 -bash: javac: command not found。我确实尝试了 java somepackage.TestJDBC,结果与上面的 Error: Could not find or load main class TestJDBC.java 相同。

答案注意: 答案需要使用 yum 获取 openJDK 的开发版本。 PATH 变量不是解决方案的一部分。但是,我将下面的答案标记为已接受,因为提交它的用户对解决方案做出了重大贡献。

最佳答案

编译后应该可以运行

javac TestJDBC.java
java TestJDBC

请注意,从命令行运行它时不需要添加 .class

如果这仍然不起作用,请粘贴您的代码。

请求后编辑

所以您现在已经声明您的 PATH 中缺少 javac。我将向您展示如何添加它:

$> export JAVA_HOME=/path/to/jdk/jdk.1.8.0_20
$> export PATH=$PATH:$JAVA_HOME/bin

运行验证

javac -version

它应该打印类似的东西

javac 1.8.0_20

关于java - 从 CentOS 7 终端调用 java 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28489317/

相关文章:

scala - 在 Spark JDBC 读取方法中使用谓词

Java日历添加不递增年份

c++ - MessageBox的Qt实现

java - 同步执行存储过程

arrays - Bash Looping 2 Arrays with whitespaces in variables

linux - IIS 中的子站点映射

java - 我可以多次更改 JDBC 连接的 AutoCommit 属性吗

java - 为什么每次执行uploadArchives都会生成很多pom文件?

java - 使用动态变量 Java 在循环中打印数组

java - 使用 Enums 或 Refection 的常量特定方法?需要根据字符串调用方法