z****e 发帖数: 54598 | 1 vert.x跟其它jvm上产品不一样的地方在于
它哪怕是生产环境,它也需要jdk,而不仅仅是jre
好久没用windows了,今天第一次尝试在window7上安装java
结果奇芭的事发生了,我下了jdk安装pkg
然后打开,让我选择安装,默认是development kit和source code和jre全部安装
我默认同意了,安装完了之后,修改path,把jdk的bin放到path最后去
把vert.x下载解压缩,再把bin目录给放到path里面去
奇芭的是,我写了一个hello world让vert.x跑
居然跑不动,提示compilation fail
搞了很久没弄明白怎么回事,怀疑是不是版本的问题
于是决定换一个版本看看,下了最新m3版本
解压缩,修改path,然后再次运行
同样错误,但是m3比之前正式版本强的在于
它会print out exception的stacktrace
然后认真阅读了一下异常信息,异常是由netty抛出的
提示说要确保用的是jdk,而不是jre,我想了想
觉得可能是jre和jdk两个都安装后导致的java.exe启动错了
启动成jre那个了,于是敲入
which java
果然有两个,而且jdk那个的path在jre的path之后,我晕
修改path,把jdk那个path放到jre那个path之前
重启cmd,搞定
windows上搞java从来都比较折腾,这么多年了,还是这么折腾
macosx上用java舒心太多了,还是mac好
用了这么久mac,从来没觉得mac有怎么刁难过java
倒是windows上用java总是磕磕碰碰 |
z****e 发帖数: 54598 | 2 我记得古德霸在这里帮其它人解决过一次类似问题
也是jre和jdk冲突的问题
jre安装之后,默认的java.exe启动是jre那个
所以要修改path,把jdk的bin目录放到path前面去
比jre那个java.exe所在目录更前
//jre那个java.exe好像是在windows32里面
如果怕麻烦的话,直接无脑把jdk的bin目录的path放到最前加一个;就好了
想知道有几个java.exe
windows下cmd屏幕用
which java
就可以看到,一般会有两个,如果安装了jdk的话
修改path后重启cmd,就可以搞定
vert.x安装的话,也需要修改path,把bin的路径放到path里面去
不过这个不会冲突,所以修改好了就可以用vertx命令鸟 |
l**********n 发帖数: 8443 | |
c********l 发帖数: 8138 | 4 Windows -> start menu -> run
cmd (return)
which java (return)
'which' is not recognized as an internal or external command,
operable program or batch file.
【在 z****e 的大作中提到】 : 我记得古德霸在这里帮其它人解决过一次类似问题 : 也是jre和jdk冲突的问题 : jre安装之后,默认的java.exe启动是jre那个 : 所以要修改path,把jdk的bin目录放到path前面去 : 比jre那个java.exe所在目录更前 : //jre那个java.exe好像是在windows32里面 : 如果怕麻烦的话,直接无脑把jdk的bin目录的path放到最前加一个;就好了 : 想知道有几个java.exe : windows下cmd屏幕用 : which java
|
d*******r 发帖数: 3299 | 5 为啥要在 windows 上搞... 这货不是该跑在 server 端的吗 |
x****u 发帖数: 44466 | 6 try where
【在 c********l 的大作中提到】 : Windows -> start menu -> run : cmd (return) : which java (return) : 'which' is not recognized as an internal or external command, : operable program or batch file.
|
z****e 发帖数: 54598 | 7 龙猫 is right
where java
【在 x****u 的大作中提到】 : try where
|
z****e 发帖数: 54598 | 8 for development and testing ya
【在 d*******r 的大作中提到】 : 为啥要在 windows 上搞... 这货不是该跑在 server 端的吗
|
B****m 发帖数: 63 | |
b*******n 发帖数: 449 | 10 这个要怪oracle吧
oracle自作主张扔了一堆jre的java*到 windows/system32下面去。
让你添path都没用,除非放到最前面。
别的应用程序都是添加自己的路径到path中,oracle没节操的,直接往系统目录里面扔
东西,关键为了迷惑人,在外面还扔一个jre目录。
【在 z****e 的大作中提到】 : vert.x跟其它jvm上产品不一样的地方在于 : 它哪怕是生产环境,它也需要jdk,而不仅仅是jre : 好久没用windows了,今天第一次尝试在window7上安装java : 结果奇芭的事发生了,我下了jdk安装pkg : 然后打开,让我选择安装,默认是development kit和source code和jre全部安装 : 我默认同意了,安装完了之后,修改path,把jdk的bin放到path最后去 : 把vert.x下载解压缩,再把bin目录给放到path里面去 : 奇芭的是,我写了一个hello world让vert.x跑 : 居然跑不动,提示compilation fail : 搞了很久没弄明白怎么回事,怀疑是不是版本的问题
|
|
|
z****e 发帖数: 54598 | 11 actually those 2 java.exe are different
one is for jre which is usually used by non-developer users
end users who r usually not a programmer at all
so if say anything about path or system32 directory
they probably have no idea what u r talking about
but the java.exe that i want is actually the command for
jdk which is development kit usually used by programmers
i think it is james gosling or the other java creators
who design this mechanism, nothing to do with oracle at all
【在 b*******n 的大作中提到】 : 这个要怪oracle吧 : oracle自作主张扔了一堆jre的java*到 windows/system32下面去。 : 让你添path都没用,除非放到最前面。 : 别的应用程序都是添加自己的路径到path中,oracle没节操的,直接往系统目录里面扔 : 东西,关键为了迷惑人,在外面还扔一个jre目录。
|
b*******n 发帖数: 449 | 12 最早的jdk就算捆绑jre的包也是不往system32下面扔东西的。
那时候一用java(不管jre还是jdk),第一件是就是path,第二件是JAVA_HOME(开发的
用)。
后来,jdk1.5还是1.6的时候,jre路径进注册表了,并且可以通过控制面板中的java选
择用哪个jre。命令行也可以直接用java,根本不用配path。
再后来,oracle接手后(也许sun时代就开始了),开始无节操的往system32下扔东西
了。一个应用程序往系统目录下扔东西,这样干的真不多吧,何况只是为了霸占路径优
先权,而不是调用什么系统dll之类的东西。
不过,jdk/jre从来都是一团mess。装jdk总要给你绑个jre,好像知道jdk的不知道jre
是什么。
就算你跳过那个jre,只装jdk,最后还是在jdk目录下面给你绑个jre。最然两个jre确
实有些不同,为啥就不能把两个jre归并一下。或者说没事就别老给装jdk的稍2个jre了
,归并到一个大全的jre去用来load jdk。如果非要runtime的jre,自然会专门下载。
说白了,目的无非还是在想办法推高所谓java(实际是jre)装机量,可实际上还真没
几个non-dev user用jre,看看有多少软件用java作客户端的就知道了(除了开发工具
,那个jdk一样跑)。
【在 z****e 的大作中提到】 : actually those 2 java.exe are different : one is for jre which is usually used by non-developer users : end users who r usually not a programmer at all : so if say anything about path or system32 directory : they probably have no idea what u r talking about : but the java.exe that i want is actually the command for : jdk which is development kit usually used by programmers : i think it is james gosling or the other java creators : who design this mechanism, nothing to do with oracle at all
|
z****e 发帖数: 54598 | 13 minecraft man minecraft
but i agree with u
sun is/was made of a bunch of nerds
jre
【在 b*******n 的大作中提到】 : 最早的jdk就算捆绑jre的包也是不往system32下面扔东西的。 : 那时候一用java(不管jre还是jdk),第一件是就是path,第二件是JAVA_HOME(开发的 : 用)。 : 后来,jdk1.5还是1.6的时候,jre路径进注册表了,并且可以通过控制面板中的java选 : 择用哪个jre。命令行也可以直接用java,根本不用配path。 : 再后来,oracle接手后(也许sun时代就开始了),开始无节操的往system32下扔东西 : 了。一个应用程序往系统目录下扔东西,这样干的真不多吧,何况只是为了霸占路径优 : 先权,而不是调用什么系统dll之类的东西。 : 不过,jdk/jre从来都是一团mess。装jdk总要给你绑个jre,好像知道jdk的不知道jre : 是什么。
|
m*******l 发帖数: 12782 | 14 打脸成这样了,还nerds, 还洗地.
就是Evil, 一个字!
【在 z****e 的大作中提到】 : minecraft man minecraft : but i agree with u : sun is/was made of a bunch of nerds : : jre
|
m*******l 发帖数: 12782 | 15 晕*nix下常用的where都能写成which, java/mac用户真是...
【在 z****e 的大作中提到】 : vert.x跟其它jvm上产品不一样的地方在于 : 它哪怕是生产环境,它也需要jdk,而不仅仅是jre : 好久没用windows了,今天第一次尝试在window7上安装java : 结果奇芭的事发生了,我下了jdk安装pkg : 然后打开,让我选择安装,默认是development kit和source code和jre全部安装 : 我默认同意了,安装完了之后,修改path,把jdk的bin放到path最后去 : 把vert.x下载解压缩,再把bin目录给放到path里面去 : 奇芭的是,我写了一个hello world让vert.x跑 : 居然跑不动,提示compilation fail : 搞了很久没弄明白怎么回事,怀疑是不是版本的问题
|
m*******t 发帖数: 1060 | 16 正想这么说呢,被你抢先了。
【在 m*******l 的大作中提到】 : 打脸成这样了,还nerds, 还洗地. : 就是Evil, 一个字!
|
z****e 发帖数: 54598 | 17 evil就evil
关我鸟事
洗你马币的地
【在 m*******l 的大作中提到】 : 打脸成这样了,还nerds, 还洗地. : 就是Evil, 一个字!
|
z****e 发帖数: 54598 | 18 你丫真不是一般的傻逼
*nix下都是用which java
你小子阶级斗争思想很浓重嘛
要不要我们换个场地聊聊?
【在 m*******l 的大作中提到】 : 晕*nix下常用的where都能写成which, java/mac用户真是...
|
g*****g 发帖数: 34805 | 19 It's jdk 6 and I couldn't have jdk 6 and 7 on the same windows box without
issues. The annoying thing is that that thing in system32 will come back
even if you delete it, like a virus.
Fortunately jdk 6 is behind us and it's going to be at least 3 years before
we'll adopt jdk 8.
jre
【在 b*******n 的大作中提到】 : 最早的jdk就算捆绑jre的包也是不往system32下面扔东西的。 : 那时候一用java(不管jre还是jdk),第一件是就是path,第二件是JAVA_HOME(开发的 : 用)。 : 后来,jdk1.5还是1.6的时候,jre路径进注册表了,并且可以通过控制面板中的java选 : 择用哪个jre。命令行也可以直接用java,根本不用配path。 : 再后来,oracle接手后(也许sun时代就开始了),开始无节操的往system32下扔东西 : 了。一个应用程序往系统目录下扔东西,这样干的真不多吧,何况只是为了霸占路径优 : 先权,而不是调用什么系统dll之类的东西。 : 不过,jdk/jre从来都是一团mess。装jdk总要给你绑个jre,好像知道jdk的不知道jre : 是什么。
|
p**o 发帖数: 3409 | 20 A quick question: do user env vars have higher precedence than sys vars in
Windows? If so, you may put the path of those jre/jars under user PATH.
【在 b*******n 的大作中提到】 : 这个要怪oracle吧 : oracle自作主张扔了一堆jre的java*到 windows/system32下面去。 : 让你添path都没用,除非放到最前面。 : 别的应用程序都是添加自己的路径到path中,oracle没节操的,直接往系统目录里面扔 : 东西,关键为了迷惑人,在外面还扔一个jre目录。
|
|
|
b*******n 发帖数: 449 | 21 user env会覆盖sys env。
通常写法都是
PATH=%PATH%;JAVA_HOME/bin;path1;...
这样原有sys env中的path优先于你的user path。但这是通用做法,避免影响其它既有
程序设定的path查找顺序。
当然你可以把自己的path放到已有PATH变量前,但是是否会影响其它程序就不好说了。
可以明着把java加到path中,但没事不要暗地里把程序拷到既有path中。
就像以前用玩dos时候,大家都把del改名为dir来稿恶一样,不是正道。
【在 p**o 的大作中提到】 : A quick question: do user env vars have higher precedence than sys vars in : Windows? If so, you may put the path of those jre/jars under user PATH.
|
z****e 发帖数: 54598 | 22 why is there a system32 directory?
what for?
【在 b*******n 的大作中提到】 : user env会覆盖sys env。 : 通常写法都是 : PATH=%PATH%;JAVA_HOME/bin;path1;... : 这样原有sys env中的path优先于你的user path。但这是通用做法,避免影响其它既有 : 程序设定的path查找顺序。 : 当然你可以把自己的path放到已有PATH变量前,但是是否会影响其它程序就不好说了。 : 可以明着把java加到path中,但没事不要暗地里把程序拷到既有path中。 : 就像以前用玩dos时候,大家都把del改名为dir来稿恶一样,不是正道。
|
m*******t 发帖数: 1060 | 23 感觉对应于*nix下的/bin,/usr/bin或/usr/lib64。If jdk/jre installer把java的
executable装到/bin或/usr/bin下或create symbolic link under these
directories,你可能碰到同样问题。
【在 z****e 的大作中提到】 : why is there a system32 directory? : what for?
|
z****e 发帖数: 54598 | 24 then why *nix or macosx do not have similar problems?
if there r similar folders in there
dont tell me "你可能碰到同样问题"
i did try, and there is no problems to use jdk in *nix or macosx
i dont need to worry about the conflict
【在 m*******t 的大作中提到】 : 感觉对应于*nix下的/bin,/usr/bin或/usr/lib64。If jdk/jre installer把java的 : executable装到/bin或/usr/bin下或create symbolic link under these : directories,你可能碰到同样问题。
|
m*******t 发帖数: 1060 | 25 要不然是坏境问题,要不然是。。。。深表同情。 对了,刚刚试了一下vert,x, 先在
linux上,然后在windows上,都没有你说的问题。 呵呵。
Update: There IS a problem when running vert.x java code. Sounds like
whenever launching /windows/system32/java.exe, this app tries to read the
jre settings
configured through "Java Configuration Applet"(under control pannel). From
there, it knows which java is active. However, I failed to use this applet
to configure java to use JDK instead of jre.
On linux, /usr/bin/java is a symbolic link to the actual jre/jdk, so it is
possible to figure out which jre/jdk is active. On Windows, /Windows/
System32/java.exe isn't a symbolic link. So java.exe has to read the java
configuration to figure out which jre/jdk is active.
If you don't want to change PATH, another possible way to fix this problem
is to configure JAVA_HOME to point to "c:\Program Files\Java\jdk1.7.0_45".
By configuring JAVA_HOME, java.exe on windows is able to use SDK instead JRE
.
-- LINUX --
$ which java
/usr/bin/java
$ java -version
java version "1.7.0_45"
OpenJDK Runtime Environment (rhel-2.4.3.2.el6_4-x86_64 u45-b15)
OpenJDK 64-Bit Server VM (build 24.45-b08, mixed mode)
$ echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin
:/sbin:/opt/apache-cassandra-2.0.2/bin:/opt/apache-maven-3.1.1/bin:/usr/
local/share/scala/bin:/home/xiaohm/bin:/opt/apache-cassandra-2.0.2/bin:/opt/
apache-maven-3.1.1/bin:/usr/local/share/scala/bin
$ echo $JAVA_HOME
/usr/lib/jvm/java-1.7.0-openjdk.x86_64
$ bin/vertx run example/EchoServer.java
Succeeded in deploying verticle
-- WINDOWS--
C:Downloadvert.x-2.1M3>where java
C:WindowsSystem32java.exe
C:Downloadvert.x-2.1M3>java -version
java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)
C:Program Files (x86)NVIDIA CorporationPhysXCommon;C:Program Files (x86)In
teliCLS Client;C:Program FilesInteliCLS Client;C:WINDOWSsystem32;C:WIND
OWS;C:WINDOWSSystem32Wbem;C:WINDOWSSystem32WindowsPowerShellv1.0;C:Prog
ram FilesIntelIntel(R) Management Engine ComponentsDAL;C:Program FilesIntel
Intel(R) Management Engine ComponentsIPT;C:Program Files (x86)IntelIntel(R)
Management Engine ComponentsDAL;C:Program Files (x86)IntelIntel(R) Manageme
nt Engine ComponentsIPT;c:Program Files (x86)Microsoft SQL Server110ToolsB
inn;c:Program FilesMicrosoft SQL Server110ToolsBinn;c:Program FilesMicr
osoft SQL Server110DTSBinn
C:Downloadvert.x-2.1M3>dir "c:Program FilesJava"
Volume in drive C is OS
Volume Serial Number is 8420-FC05
Directory of c:Program FilesJava
12/20/2013 07:06 PM .
12/20/2013 07:06 PM ..
12/20/2013 07:06 PM jdk1.7.0_45
12/20/2013 07:06 PM jre7
0 File(s) 0 bytes
4 Dir(s) 804,951,941,120 bytes free
C:Downloadvert.x-2.1M3>echo %JAVA_HOME%
c:\Program Files\Java\jdk1.7.0_45
C:Downloadvert.x-2.1M3>binvertx run sample\EchoServer.java
Succeeded in deploying verticle
【在 z****e 的大作中提到】 : then why *nix or macosx do not have similar problems? : if there r similar folders in there : dont tell me "你可能碰到同样问题" : i did try, and there is no problems to use jdk in *nix or macosx : i dont need to worry about the conflict
|
c*****e 发帖数: 3226 | 26 赵同学,在windows 底下折腾程序,自虐么吧,而且也露了一把家底。
【在 z****e 的大作中提到】 : vert.x跟其它jvm上产品不一样的地方在于 : 它哪怕是生产环境,它也需要jdk,而不仅仅是jre : 好久没用windows了,今天第一次尝试在window7上安装java : 结果奇芭的事发生了,我下了jdk安装pkg : 然后打开,让我选择安装,默认是development kit和source code和jre全部安装 : 我默认同意了,安装完了之后,修改path,把jdk的bin放到path最后去 : 把vert.x下载解压缩,再把bin目录给放到path里面去 : 奇芭的是,我写了一个hello world让vert.x跑 : 居然跑不动,提示compilation fail : 搞了很久没弄明白怎么回事,怀疑是不是版本的问题
|
g*****g 发帖数: 34805 | 27 我也在windows下开发,好处是免费工具相对比较多。比如notepad++ mac下就没有。
还有诸如Poderosa有tab console。当然换Mac, Linux也不是什么本质区别。
【在 c*****e 的大作中提到】 : 赵同学,在windows 底下折腾程序,自虐么吧,而且也露了一把家底。
|
c******o 发帖数: 1277 | 28 开发还是terminal好 :)
鼠标实在是烦。
【在 g*****g 的大作中提到】 : 我也在windows下开发,好处是免费工具相对比较多。比如notepad++ mac下就没有。 : 还有诸如Poderosa有tab console。当然换Mac, Linux也不是什么本质区别。
|
g*****g 发帖数: 34805 | 29 I am more productive with a rich IDE. I don't think any console program can
match Eclipse in that perspective. If you can't live without vim/emacs
binding, you can still do that in Eclipse.
【在 c******o 的大作中提到】 : 开发还是terminal好 :) : 鼠标实在是烦。
|
s***o 发帖数: 2191 | 30 你开发用什么机器?我的dell刚死了,准备换lenovo试一下希望质量能好一些。
can
【在 g*****g 的大作中提到】 : I am more productive with a rich IDE. I don't think any console program can : match Eclipse in that perspective. If you can't live without vim/emacs : binding, you can still do that in Eclipse.
|
|
|
g*****g 发帖数: 34805 | 31 One year old Lenova T430s on win7. I got occasional blue screen, maybe once
a month, but I can live with that.
【在 s***o 的大作中提到】 : 你开发用什么机器?我的dell刚死了,准备换lenovo试一下希望质量能好一些。 : : can
|
N********n 发帖数: 8363 | 32 这JAVA看来连个STRONG NAME都没有,总要设PATH,还停留在DLL HELL层次。
.Net这边从1.1到4.5都装上也没有跑错RUNTIME的问题。
【在 z****e 的大作中提到】 : vert.x跟其它jvm上产品不一样的地方在于 : 它哪怕是生产环境,它也需要jdk,而不仅仅是jre : 好久没用windows了,今天第一次尝试在window7上安装java : 结果奇芭的事发生了,我下了jdk安装pkg : 然后打开,让我选择安装,默认是development kit和source code和jre全部安装 : 我默认同意了,安装完了之后,修改path,把jdk的bin放到path最后去 : 把vert.x下载解压缩,再把bin目录给放到path里面去 : 奇芭的是,我写了一个hello world让vert.x跑 : 居然跑不动,提示compilation fail : 搞了很久没弄明白怎么回事,怀疑是不是版本的问题
|
r***y 发帖数: 4379 | 33 离开windows 试试
【在 N********n 的大作中提到】 : 这JAVA看来连个STRONG NAME都没有,总要设PATH,还停留在DLL HELL层次。 : .Net这边从1.1到4.5都装上也没有跑错RUNTIME的问题。
|
w**z 发帖数: 8232 | 34 好像在哪看到说Java 8开始不用classpath了。
【在 N********n 的大作中提到】 : 这JAVA看来连个STRONG NAME都没有,总要设PATH,还停留在DLL HELL层次。 : .Net这边从1.1到4.5都装上也没有跑错RUNTIME的问题。
|
z*******3 发帖数: 13709 | 35 linux上直接openjdk阿
你是不会么?
我说,用你们windows不就是图傻瓜方便么?
要不然这么丑的ui还tmd卖钱?
谁用阿?
【在 m*******t 的大作中提到】 : 要不然是坏境问题,要不然是。。。。深表同情。 对了,刚刚试了一下vert,x, 先在 : linux上,然后在windows上,都没有你说的问题。 呵呵。 : Update: There IS a problem when running vert.x java code. Sounds like : whenever launching /windows/system32/java.exe, this app tries to read the : jre settings : configured through "Java Configuration Applet"(under control pannel). From : there, it knows which java is active. However, I failed to use this applet : to configure java to use JDK instead of jre. : On linux, /usr/bin/java is a symbolic link to the actual jre/jdk, so it is : possible to figure out which jre/jdk is active. On Windows, /Windows/
|
z*******3 发帖数: 13709 | 36 没办法,公司统一采购的
如果是我采购,肯定全部mac
【在 c*****e 的大作中提到】 : 赵同学,在windows 底下折腾程序,自虐么吧,而且也露了一把家底。
|
z*******3 发帖数: 13709 | 37 不好意思,公司各种系统都有,.net其它地方跑不了
【在 N********n 的大作中提到】 : 这JAVA看来连个STRONG NAME都没有,总要设PATH,还停留在DLL HELL层次。 : .Net这边从1.1到4.5都装上也没有跑错RUNTIME的问题。
|
m*******t 发帖数: 1060 | 38 靠。哥感情在和这种知道个linux下有openjdk也要bso一下的在讨论,真tm丢不起这个
人呀。您继续。。。。 hehe.
【在 z*******3 的大作中提到】 : linux上直接openjdk阿 : 你是不会么? : 我说,用你们windows不就是图傻瓜方便么? : 要不然这么丑的ui还tmd卖钱? : 谁用阿?
|
x****u 发帖数: 44466 | 39 mac的office非常不好用
【在 z*******3 的大作中提到】 : 没办法,公司统一采购的 : 如果是我采购,肯定全部mac
|
g*****g 发帖数: 34805 | 40 俺们从email到office都是狗家的,没有压力。你让我用linux开发都差别不大。
【在 x****u 的大作中提到】 : mac的office非常不好用
|
|
|
z****e 发帖数: 54598 | 41 说实在话,没有人在乎你们这个破烂系统是怎么做的
你丫的连用个软件都需要我了解,那我用linux也没啥难的
也别说什么system32里面怎样怎样,随便找台机器,打开
里面一堆app的exe,我是没啥兴趣知道你们这种垃圾是怎么设计的了
有人有兴趣看软轮表演么?
【在 m*******t 的大作中提到】 : 靠。哥感情在和这种知道个linux下有openjdk也要bso一下的在讨论,真tm丢不起这个 : 人呀。您继续。。。。 hehe.
|