草庐IT

java - Eclipse从哪里找javac编译项目?

这是我的:JAVA_HOME=C:\Software\Java\jdk1.5.0_12(指向JDK5.0)在Eclipse“已安装的运行时”中,我有:jre1.5.0_12(指向JRE5.0)jre1.6.0_3(指向JRE6.0)(这个是默认的)我的PATH上没有“javac”(即,如果我不在JDK/bin中,我无法从命令行运行javac-version)。我的项目设置为使用jre1.6.0_3,编译器的合规级别设置为6.0。问题是:Eclipse如何编译我的项目?它在哪里找到6.0的编译器?此外,有没有办法准确地告诉Eclipse使用哪个编译器(即javac的路径)?附言OSXPS

java - 为什么 javac 提示没有初始化变量?

对于这段Java代码:Stringvar;clazz.doSomething(var);编译器为什么会报这个错:Variable'var'mightnothavebeeninitialized我以为所有的变量或引用都被初始化为null。为什么需要这样做:Stringvar=null;?? 最佳答案 实例和类变量被初始化为null(或0),但局部变量不是。参见§4.12.5的JLS一个非常详细的解释,基本上说的是同一件事:Everyvariableinaprogrammusthaveavaluebeforeitsvalueisused

java - Javac 的 StringBuilder 优化弊大于利吗?

假设我们有如下代码:publicstaticvoidmain(String[]args){Strings="";for(inti=0;i(是的,我知道更好的实现方式是使用StringBuilder,但请耐心等待。)通常,我们可能期望生成的字节码类似于以下内容:publicstaticvoidmain(java.lang.String[]);Code:0:ldc#2//String2:astore_13:iconst_04:istore_25:iload_26:sipush100009:if_icmpge2512:aload_113:ldc#3//Stringreally15:invok

java - Eclipse/javac 不同意编译签名与默认方法冲突;谁是对的?

这是一个演示问题的简单类:packagecom.mimvista.debug;publicclassDefaultCollisionTest{publicstaticinterfaceInterface1{publicStringgetName();}publicstaticinterfaceInterface2{publicdefaultStringgetName(){return"Mr.2";};}publicstaticStringextractName(Xtarget){returntarget.getName();}}Eclipse(Neon2)愉快地编译这个类,而javac

Javac "cannot find symbol"

我的根目录是这样的:├──classes└──src└──vehicles├──Bicycle.java└──BicycleMain.java自行车.javapackagevehicles;publicclassBicycle{publicintcadence;publicintgear;publicintspeed;publicBicycle(intstartCadence,intstartSpeed,intstartGear){gear=startGear;cadence=startCadence;speed=startSpeed;}publicvoidsetCadence(int

java - 如何为 javac 设置 PATH 变量,以便我可以手动编译我的 .java 作品?

这是我驱动器上的地址:C:\ProgramFiles\Java\jdk1.6.0_18\bin我将如何设置路径变量,以便我可以进入命令窗口(windowskey+r"cmd")并能够键入如下内容:javacTestApp.java我使用的是Windows7专业版。 最佳答案 那就是:set"PATH=%PATH%;C:\ProgramFiles\Java\jdk1.6.0_18\bin"您还可以将;C:\ProgramFiles\Java\jdk1.6.0_18\bin附加到用户环境对话框中的PATH。这将允许您直接在任何cmdsh

Javac 与 1.7 的交叉编译

小伙伴们,我正在尝试使用Ant和终端进行Javac交叉编译。在本地和集成环境中,我在最基本的问题上遇到了同样的问题。我在linux终端(以及我在Windows和cmd上的cygwin上)运行它:javac-target1.6-source1.7-bootclasspath/usr/java/jdk1.6.0_27/jre/lib/rt.jarMain.java使用Main.java,除了System.out.println之外什么都没有。javac-version==>javac1.7.0_11我收到错误消息:javac:sourcerelease1.7requirestargetre

javac 在 ubuntu 终端中不起作用

当我尝试用javac编译java程序时,出现错误:Theprogram'javac'canbefoundinthefollowingpackages:*default-jdk*ecj*gcj-4.6-jdk*gcj-4.7-jdk*openjdk-7-jdk*openjdk-6-jdkTry:sudoapt-getinstall当我尝试java-version时,它说,javaversion"1.7.0_21"OpenJDKRuntimeEnvironment(IcedTea2.3.9)(7u21-2.3.9-1ubuntu1)OpenJDK64-BitServerVM(build23

java - 在 Linux 的类路径上将 javac 与多个特定的 jar 一起使用(代字号在冒号后不扩展)

我正在尝试通过类似于以下的命令编译一个使用两个jar文件(trove和apachecommons集合)的java源文件javac-cp~/.m2/repository/gnu/trove/trove/3.0.0/trove-3.0.0.jar:~/git-workspace/grid/libs/commons-collections-3.2.1.jar$(find.-nameTimeJavaCode.java)在上述情况下,公共(public)代码未成功包含,并且在我使用公共(public)库时出现编译错误。如果我颠倒了导入的顺序,那么在我使用trove的地方就会出现编译错误。我试过导

java - 何时以及为何运行替代方案 --install java jar javac javaws on installing jdk in linux

在linux中安装java(我用的是CentOS,RHEL也一样),我用的是这个命令rpm-Uvh/path/to/binary/jdk-7u55-linux-x64.rpm和验证javajava-version看教程,说要运行以下4个命令,不知道为什么##java##alternatives--install/usr/bin/javajava/usr/java/latest/jre/bin/java200000##javaws##alternatives--install/usr/bin/javawsjavaws/usr/java/latest/jre/bin/javaws20000