2013-07-19 4 views
7

저는 리눅스 환경에 아주 익숙합니다.Error : 메인 클래스 xxx 리눅스를 찾을 수 없거나로드 할 수 없습니다.

저는 리눅스 환경에서 간단한 hello world 자바 클래스를 실행하려고합니다.

안녕하세요이

내가 윈도우 환경에서 자바 클래스를 컴파일
package com.util; 

    public class Hello { 

     /** 
     * @param args 
     */ 
     public static void main(String[] args) { 
      System.out.println("hi"); 

     } 

    } 

을 된 .java 및/홈/스크립트 경로에 리눅스 시스템으로의 .class 파일을 업로드했습니다. 다음과 같이

내 명령이다

내가 Hello.class가 난 점점 오전이 같은/홈/스크립트에서이 명령을 실행하고
java -cp /home/scripts com.util.Hello 

,

오류 : 찾을 수 없습니다 또는 메인 클래스 com.util.Hello를로드하고 더 이상 진행할 수 없습니다.

이 문제에 도움이 될만한 사람이 있습니까?

javac의의 ./hello.java

이 명령이 생성 한 hello.class 파일 그리고 당신은 당신의 클래스 파일을 실행 후 : 먼저 당신이 당신의 .class 파일을 생성해야합니다에서

+0

은 "my class"가 Java 파일 또는 클래스 파일입니까? – giorashc

+0

먼저 컴파일 했습니까? ('javac') –

+0

나는 윈도우 환경에서 컴파일하고 리눅스 시스템에 클래스 파일을 업로드했다. com.util.Hello는 .class 파일이다. – user1660325

답변

6

탐색하는/홈/스크립트는 터미널

javac com/util/Hello.java 

를 사용하는 다음

cd /home/scripts 
java -cp . com.util.Hello 

또는, 현재의 프로그램을 실행하려면 투표

아래

java -cp "/home/scripts" com.util.Hello 
+0

thanq – user1660325

2

! :)

자바 안녕하세요

+0

패키지 이름이 있습니다 .. 그래서 패키지 이름도 포함하십시오 ... – Shashi

0

귀하의 .class 파일이 /home/scripts/에 상주하지만, /home/scripts/com/util/에서 안된다. classpath, 패키지 및 디렉토리 사이의 관계를 설명하는 this document을 살펴보십시오.

+0

나는/home/scripts/com/util/path에 클래스 파일을 복사했습니다. 나는이 java -cp/home/scripts com.util.Hello를 시도했지만 여전히 동일한 오류가 관찰된다. – user1660325

1

작업 디렉토리 수업이 어디에 있니?

자바는 세 가지 옵션을 제공합니다.

현재 작업 디렉토리

자바 -cp에 대한

자바 -cp 테스터

두 번째 옵션은 첫 번째 옵션. 테스터

세 번째 옵션 수출 CLASSPATH 변수

수출 CLASSPATH = $ CLASSPATH에 :.당신이 bashrc에 또는 bashprofile을 SORCE해야한다 그 후 또는

수출 CLASSPATH = $ PWD

또는

수출 CLASSPATH =

(이 최고의 디렉토리가 변경되면 하나입니다).

1

먼저 javac 명령이 잘 작동하는지 확인합니다.

나는 또한이 오류를 만났으며이 문제를 해결했습니다. 공유하겠습니다.

먼저 자바 코드에서 패키지의 상위 경로를 찾아야합니다.

그런 다음 java package + fileName을 사용하여 해당 경로로 cd하면 그 순간에 제대로 작동합니다.

1

나는 윈도우에서 똑같은 문제를 겪었고 경로를 추가하여 문제를 해결했습니다. " CLASSPATH와 PATH 둘 다에, 아마 리눅스에서도 이것을 시도 할 수있다.

0

경로를 지정하기 전에, 1 경로를 지정하기 전에 명령 프롬프트 창을 닫습니다, 당신은 꼼꼼하게이 세 가지를 따라 확인합니다. 2. 경로를 추가 할 때 끝에 및 빈과 세미콜론을 추가하십시오. 3. JAVAC 명령이 제대로 작동하면 java -cp class name을 시도하십시오.

관련 문제