我刚刚下载了cygwin来运行一些java程序,我需要设置java.我试着下载标准的linux软件包并得到错误无法执行二进制文件
经过一些研究,我认为我必须将它指向我的Windows java文件夹,所以我跑了
export PATH=$PATH:"/cygdrive/C/Program Files (x86)/Java/jdk1.7.0_51/bin"
它似乎工作(java -version显示我的java信息).然而它似乎搞砸了我的linux bash设置,之后我不能做基本的东西,如ls,sh等,它给命令找不到错误,唯一的方法是将PATH变量改回我的cygwin文件夹.
我怎样才能在cygwin中“安装”java?
解决方法:
第一:
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`"
当你启动一个新的bash shell时,它将回显这四个java要素的版本.
运行每一个没有参数,你应该得到四个适当的投诉.如果它们没有运行,那么您需要安装它们.
然后创建一个名为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'!
标签:java,linux,cygwin
来源: https://codeday.me/bug/20190708/1404875.html