2016-11-20 23 views
0

방금 ​​jflex 및 cup을 설치했으며 모든 것이 정상인지 테스트하고 싶습니다. 다음은 내가 쉘에서 쓴 것과 내가 얻은 결과입니다. enter image description here 내가 잘못했던 것이 있습니다 : 여기 enter image description hereWindows에서 jflex.bat를 실행할 수 없습니다.

는 jflex.bat 파일의 내용입니까? jflex를 처음 실행하는 방법은 무엇입니까? 내가 java -version을 쓰면 내 PC에 올바른 버전의 java가 표시됩니다. 문제는 jflex 때문입니다.

감사합니다! C:\Program Files (x86)\Java :

+0

미래의 독자가 데이터가 무엇인지 알 수 있도록 '그림'아이콘 (풍경과 같은)을 사용하여 그래픽을 포함하십시오. 잘라내어 붙여 넣기 코드 스 니펫 (snippets)을 최상으로 선택하고 '{}'을 눌러 코드로 표시하십시오. 그렇게하면 코드가 편집 가능 해지고 결과적으로 오타가 발생하지 않고 다시 입력 할 필요가 없습니다. – Magoo

+0

... 또는 콘솔에서 텍스트를 복사하여 붙여 넣을 수 있습니다. 미래의 사용자가 그림에 표시된 오류 메시지를 검색하여 질문을 찾을 수있는 방법이 없기 때문입니다. – Seki

답변

1

당신이 %java_home%\bin을 실행하는 경우, 당신은

1) 마찬가지로, "따옴표"

에서 %clpath% 그 방법을 둘러싸
2) "따옴표"에 %java_home%\bin\java를 동봉해야 cmd입니다 따옴표 사이의 내용이 단일 문자열이라는 것을 알고 있어야합니다.

1

당신은 공간 Java 환경의 루트 디렉토리에 대한 경로를 포함하는 JAVA_HOME 변수에 공백이 포함되어 있기 때문에 큰 따옴표로 JAVA_HOME 변수의 값을 포위 할 필요가있다. 제 3의 마지막 줄에 사용됩니다

%JAVA_HOME%\bin\java -classpath... 

그래서 단지 %JAVA_HOME%의 값을 대체하여 당신이 얻을 :

C:\Program Files (x86)\bin\java -classpath... 

당신은 말할 것입니다 : "그것은 자바 실행 단지의 경로입니다." 하지만 명령 해석자가 보는 방법이 아니기 때문에 다음과 같은 3 가지 다른 것들을 제공한다고 생각할 것입니다 : C:\ProgramFiles(x86) (보통 공백 문자를 공백 문자로 사용합니다!). 그런 다음 첫 번째 파일 인 C:\Program을 실행 프로그램의 경로로 사용하고 나머지는 인수로 사용합니다. C:\Program가 유효한 실행 파일에 대한 경로가 아니기 때문에 당신은 오류가

'C : \ 프로그램'그래서

는 그가 항상이 알려 외부 또는 내부 command`로 인식되지 않습니다 C:\Program Files (x86) 전체를 볼 수 있습니다 (동일한 것의 일부 : 디렉토리에 하나의 경로). 큰 따옴표로 둘러 쌀 수 있습니다. 일괄 적으로 경로를 나타내는 변수를 큰 따옴표로 묶는 것이 좋습니다.

  1. 가장 쉬운 하나가 (이 특정한 문제를 해결할 수) : 당신이 만드는

    set JAVA_HOME="C:\Program Files (x86)\Java" 
    

    이 방법으로

    set JAVA_HOME=C:\Program Files (x86)\Java 
    

    확실히 모든 곳에서 JAVA_HOME은 대체 지금 당신은 3 가지 옵션이 있습니다 사용, 당신은 때문에 공간의 더 이상 문제가 "파일"

  2. 이동을 arround를하지 얻을 것이다 어디에서나 %JAVA_HOME%을 사용하고 "%JAVA_HOME%" (큰 따옴표로 묶기 만하면됩니다)으로 바꾸십시오. %JFLEX_HOME%의 모든 용도에 대해 동일하게 적용 할 수 있습니다.

  3. 마지막 옵션 (일괄 적으로 고려해야 할 가장 일반적인 옵션)은 모든 경로 표현 (리터럴 경로 또는 경로 집합)을 둘러 쌉니다. 변수에서) 큰 따옴표로 묶습니다.

+0

하지만 자바는 괜찮습니다. 내가 java -version을 쓰면 내 PC에 올바른 버전의 java가 표시됩니다. 문제는 jflex 때문입니다. –

+0

자바에 문제가 없습니다 (또는 적어도 ... 오류의 원인이 아닙니다) –

+0

내 대답을 편집하고 더 많은 설명을 제공하여 문제를 이해하고 해결하는 데 도움이되기를 바랍니다 :) –