2012-02-18 3 views
1

를로드 할 수 없습니다 자바 내가 명령 줄에서 자바 프로그램을 실행하는 데 문제가 있어요자바 1.7.0_03 오류 : 난 그냥 최신으로 업그레이드 찾거나 메인 클래스

> java -version 
java version "1.7.0_03" 
Java(TM) SE Runtime Environment (build 1.7.0_03-b05) 
Java HotSpot(TM) 64-Bit Server VM (build 22.1-b02, mixed mode) 
> javac -version 
javac 1.7.0_03 

. 예를 들어 :

public class Tester { 
    public static void main(String[] args) { 
     System.out.println("in main"); 
    } 
} 

내가 명령 줄에 컴파일, 다음을 실행하려고 :

> javac Tester.java 
> java Tester 
Error: Could not find or load main class Tester 

이 버그인가요? 이상하게도 Eclipse를 사용하여 프로그램을 실행해도 문제가 없습니다.

+0

기본 패키지의'Tester' 클래스 : – millimoose

+0

@Inerdial, _Tester_ 클래스는 여기에 표시된 것과 동일하며 패키지 참조는 없습니다. 예, _Tester.class_ 파일은 컴파일 및 _java_ iteself를 실행하는 동일한 디렉토리에 상주합니다. – MrRoth

+2

테스트를 거친 후 동일한 프로그램이 나와 동일한 버전에서 작동합니다. 내가 생각할 수있는 것은 클래스 패스에'.'이 포함되어 있다는 것입니다. –

답변

2

CLASSPATH 환경 변수가 설정되어 있습니까? 내가 할 때

export CLASSPATH=/tmp 
java Tester 

나는 NoClassDefFoundError를 얻었지만 정확히 같은 오류 메시지는 아닙니다.

+0

''classpath''는이 문제와 관련이 없습니다. – MrRoth

+0

반면 클래스 패스에'.'이 없으면 Windows에서 동일한 Java 버전과 동일한 오류 메시지가 나타납니다. –

+2

@MrRoth : 그렇습니다. 'CLASSPATH'를 설정하고'.' 또는'.'을 간접적으로 포함하는 또 다른 참조를 포함하지 않는다면 정확한 에러를 얻을 수 있습니다. 'set CLASSPATH ='를 콘솔 창에서 시도해보십시오. 그러면 작동합니다. 문제였습니다. (빌드 번호가 Linux/Solaris에서 다르기 때문에 Windows를 사용한다는 것을 알고 있습니다.) – mihi

2

콘솔 모드에서 jar 파일을 실행하십시오. java -jar filename.jar

0

32 비트 시스템에서 Tomcat을 64 비트 버전으로 사용했기 때문에 Tomcat을 실행하려고 할 때 동일한 오류가 발생했다는 것을 깨달았습니다. 32 비트 버전을 사용해 보았는데도 효과가있었습니다.

0

클래스가있는 현재 작업 디렉토리에서 프로그램을 실행하려면.

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

현재 작업 디렉토리

자바 -cp에 대한

자바 -cp 테스터

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

세 번째 옵션 수출 CLASSPATH 변수

수출 CLASSPATH = $ CLASSPATH에 :. (이 디렉토리가 변경되면 가장 좋은 하나입니다) 또는

수출 CLASSPATH = $ PWD

또는

수출 CLASSPATH =

당신이 bashrc에 또는 bashprofile을 SORCE합니다 그 후.

classpath=. 
0

는 시스템 변수에 클래스 패스를 설정? 컴파일 후 현재 디렉토리에`Tester.class` 파일이 있습니까?
관련 문제