CentOS 7.2 Linuxでは、次を使用してOracle Javaを正常にダウンロードしてインストールしました。
# rpm -Uvh jdk-8u91-linux-x64.rpm
また、すでにOpenJDKがインストールされています:
# rpm -qa | grep -i jdk
java-1.8.0-openjdk-headless-1.8.0.91-0.b14.el7_2.x86_64
java-1.8.0-openjdk-1.8.0.91-0.b14.el7_2.x86_64
jdk1.8.0_91-1.8.0_91-fcs.x86_64
次のコマンドを使用して2を切り替えることができます。
# alternatives --config java
There are 2 programs which provide 'java'.
Selection Command
-----------------------------------------------
* 1 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.91-0.b14.el7_2.x86_64/jre/bin/java
+ 2 /usr/java/jdk1.8.0_91/jre/bin/java
Enter to keep the current selection[+], or type selection number:
そして、以下のバージョンをご覧ください:
# java -version
java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)
# javac -version
javac 1.8.0_91
今私の問題にお願いします-
という単純なjavaファイルを作成しますTheClassName.java
。
package thepackagename;
public class TheClassName {
public static final void main(String[] args) {
System.out.println("Hello World!");
}
}
javac TheClassName.java
(TheClassName.class
同じディレクトリにファイルを生成する)で正常にコンパイルした後、残念ながら実行できません:
# java -cp . thepackagename.TheClassName
Error: Could not find or load main class thepackagename.TheClassName
ここで別の試み:
# export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.91-0.b14.el7_2.x86_64/jre
# $JAVA_HOME/bin/java -cp . thepackagename.TheClassName
Error: Could not find or load main class thepackagename.TheClassName
別の環境変数を設定しても、次のいずれにも役立ちません。
# export CLASSPATH=.
Windows 7での同様のコマンドはうまくTheClassName.class
機能し、そこからファイルもLinuxにコピーしようとしました。
上記のように、私はすでにほとんどの提案を試しているため、この質問を重複としてマークすることはお勧めしません。
SELINUXはオフ(SELINUX=disabled
)で、サーバーは数週間前にインストールされ、MySQL / PostgreSQL / Apache / WordPressでLAMPとして(エラーなしで)提供されました。
更新:
はい、クラスファイルをthepackagename
dirの下に移動する必要があり、それが機能します。
# ls thepackagename
TheClassName.class
# java -cp . thepackagename.TheClassName
Hello World!
test.jar
ファイルを作成することもできますが、今でも動作します:
# zip -r test.jar thepackagename
adding: thepackagename/ (stored 0%)
adding: thepackagename/TheClassName.class (deflated 31%)
# java -cp test.jar thepackagename.TheClassName
Hello World!
thepackagename/TheClassName.class
役立ちます(そしておそらく私の質問を複製します)...しかし、いくつかのjarファイルで構成される私の実際のプログラムはまだ実行されません。さらに調査する必要があり、別の質問をします。