2014-05-22 2 views
4

cygwin을 다운로드하여 일부 Java 프로그램을 실행하고 Java를 설정해야합니다. 나는 표준 리눅스 패키지를 다운로드하기 위해 노력하고 내가 내 윈도우 java 폴더를 가리했다 생각 몇 가지 조사 후 오류 Cannot execute binary filesJava가 Cygwin에서 작동하도록

을 가지고, 그래서 (자바를 나는

export PATH=$PATH:"/cygdrive/C/Program Files (x86)/Java/jdk1.7.0_51/bin" 

를 실행하고 작동하는 것 같다 -version은 내 java 정보를 보여줍니다.) 그러나 그것은 내 리눅스 bash 설정을 망쳐 놓은 것 같아요, 나중에 나는 ls, sh 등과 같은 기본적인 것들을 할 수 없습니다. 명령은 오류를 찾을 수 없으며 유일한 방법은 PATH 변수를 cygwin 폴더로 다시 변경하는 것입니다.

cygwin에서 어떻게 java를 "설치"할 수 있습니까?

+0

나는 틀렸다고 기쁘지만 항상 Cygwin 경로에 공백이 있다는 것에 회의적입니다. 그래서 보통 C :/Java /에 Java를 설치하여 경로 이름에 공백이 있으면 문제를 피할 수 있습니다. 또한 JAVA_HOME 환경 변수를 설정 했습니까? –

+0

yup - $ echo $ JAVA_HOME cygdrive/C/Program Files (x86) /Java/jdk1.7.0_51 –

+0

java 바이너리와 java -version이 실행되지 않습니까? "which java"는 무엇을 인쇄합니까? 귀하의 PATH가 어떻게 든 잘못되었습니다, "echo $ PATH"는 무엇입니까? 그건 당신의 PATH를 망쳐 놓지 않아야합니다, "export PATH = $ PATH :/foo/bar/baz"후에도 작동합니다. – Mikuz

답변

0

Windows에서 java를 실행하기 위해 cygwin이 필요하지 않습니다. 경로 환경 변수를 사용 가능하게 설정할 수 있습니다. 당신은 이미 java를 설치 했으므로 거기에 절반이 있습니다.

1. Right-click on 'My Computer' and select 'Properties'.(i.e. go to System Properties) 
2. Click on the 'Environment variables' button under the 'Advanced' tab. 
3. Alter the 'Path' variable so that it also contains the path to the Java executable. 
    Example, if the path is currently set to 'C:\WINDOWS\SYSTEM32', then change your path to read 'C:\WINDOWS\SYSTEM32;C:\Program Files (x86)\Java\jdk1.7.0_51\bin'. 

일단 시스템 경로 변수를 사용하므로 명령 프롬프트 나 cygwin에서 java를 실행할 수 있습니다.

+1

Windows 명령 프롬프트가 공을 빨아 먹는다는 것을 깨달을 필요가 있습니다. – Mikuz

+0

PATH 변수를 설정하면 cygwin 또는 windows 명령 프롬프트에서 java가 명령 줄에서 실행될 수 있습니다. – caburse

+0

@caburse 내가 윈도우 명령 행에서 bash 스크립트를 실행하고 자바와 협력 할 수있을 때 깨운다. 우리 중 일부는 유닉스 기반의 프로그래밍 환경을 가지고 있으며 cmd 쉘에서 bash로 수행 할 수있는 파싱을 할 수 있는지 의심 스럽다. – Wyatt8740

0

오 하하 신참 과오. . 당신이 PATH에 자바 소스 디렉토리를 추가해야하지, 직접 내보낼 수 있도록 export PATH=$PATH:"/cygdrive/C/Program Files (x86)/Java/jdk1.7.0_51/bin" 대신 export PATH="/cygdrive/C/Program Files (x86)/Java/jdk1.7.0_51/bin

1

첫째 :

Within cygwin, use bash. 
Also install java8, older versions lack key features. 

둘째 :

Add the following lines to your .bashrc file: 
echo "javac  :`which javac`" 
echo "jar  :`which jar`" 
echo "java  :`which java`" 
echo "ant  :`which ant`" 

가 새 떠들썩한 파티를 시작하면 껍질을 벗기면,이 4 가지 자바 핵심 요소의 버전을 보여줍니다. 인수없이 각각을 실행하십시오. 적절한 네 가지 불만 사항을 받아야합니다. 실행되지 않으면 설치해야합니다.

다음 디렉토리라는 SRC를 생성하고 생성 HelloWorld.java : 같은 디렉토리에

public class HelloWorld 
{ 
    public static void main(String[] args) 
    { 
     System.out.println("Hello World from main!"); 
    } 
} 

, HelloWorldAsPackage.java을 만듭니다

package src; 

public class HelloWorldAsPackage 
{ 
    public static void main(String[] args) 
    { 
     System.out.println("Hello World In a Package (Directory) called 'src'!"); 
    } 
} 

그런 다음 bash는 스크립트 runOneCase.bash를 만듭니다

#!/bin/bash 

echo "Listing $1.java" 
echo "==================================================" 
cat $1.java 
echo "==================================================" 
echo "Compiling $1.java" 
echo "+ javac $1.java" 
javac $1.java 
echo "+ cd $2" 
cd $2 
echo "Running $1.java" 
echo "+ java $3$1 $4" 
java $3$1 $4 
echo "==================================================" 

그런 다음 bash 스크립트 runThemAll.bash를 작성하십시오.

#!/bin/bash 

echo "CASE 1: HelloWorld" 
runOneCase.bash HelloWorld . "" "" 

echo "CASE 2: HelloWorld as a Package" 
runOneCase.bash HelloWorldAsPackage .. src. "" 

이제 runThemAll.bash 스크립트를 cygwin 프롬프트에서 입력하여 실행하십시오.

다음과 같은 결과가 나오면 cygwin에서 java 설치를 고려하십시오.

CASE 1: HelloWorld (Hit Return) 

Listing HelloWorld.java 
================================================== 
public class HelloWorld 
{ 
     public static void main(String[] args) 
     { 
       System.out.println("Hello World from main!"); 
     } 
} 
================================================== 
Compiling HelloWorld.java 
+ javac HelloWorld.java 
+ cd . 
Running HelloWorld.java 
+ java HelloWorld 
Hello World from main! 
================================================== 
CASE 2: HelloWorld as a Package (Hit Return) 

Listing HelloWorldAsPackage.java 
================================================== 
package src; 

public class HelloWorldAsPackage 
{ 
     public static void main(String[] args) 
     { 
       System.out.println("Hello World In a Package (Directory) called 'src'!"); 
     } 
} 
================================================== 
Compiling HelloWorldAsPackage.java 
+ javac HelloWorldAsPackage.java 
+ cd .. 
Running HelloWorldAsPackage.java 
+ java src.HelloWorldAsPackage 
Hello World In a Package (Directory) called 'src'! 
+0

Cygwin에서 무엇을 의미합니까? bash를 사용 하시겠습니까? –

+0

이 예제는 bash를 사용하며, Bourne 쉘 (sh), tsh, csh 등을 사용할 수도 있습니다. – vwvan