我正在研究如何从命令行编译Java。我得到的是:
我得到的是:
/myjava/compile.cmd /myjava/src/a_pack/HelloWorld.java /myjava/src/b_pack/Inner.java /myjava/src/b_pack/Inner2.java /myjava/bin
HelloWorld:
package a_pack; import b_pack.Inner; import b_back.Inner2; import java.util.ArrayList; import java.util.Iterator; public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World"); Inner myInner = new Inner(); myInner.myInner(); Inner2 myInner2 = new Inner2(); myInner2.myInner(); ArrayList myArray = new ArrayList(); myArray.add(1); myArray.add(2); myArray.add(3); Iterator itr = myArray.iterator(); while (itr.hasNext()) { System.out.println(itr.next()); } } }
inner.java
package b_pack; public class Inner { public void myInner() { System.out.println("Inner Method"); } }
内部2.Java
package b_pack; public class Inner2 { public void myInner() { System.out.println("SecondInner"); } }
我正在用javac-d bin-sourcePath-src src/a_pack/helloworld.
编译这个文件,这个文件工作得很好。
现在我的理解是,因为helloworld.java在它的import语句中引用了其他包,所以javac会去编译这些包。我猜对于所有的Java包,javac在内部都有。
反正-如果我在helloworld.java中添加以下导入行
导入java.nio.file.files
;
它失败的原因是
D:\.....\myjava>javac -d bin -sourcepath src src/a_pack/HelloWo rld.java src\a_pack\HelloWorld.java:8: package java.nio.file does not exist import java.nio.file.Files; ^ 1 error
这里有什么故事?为什么Java有的好,有的不好?
如果你在OSX上,那么检查一下它正在使用的JDK...
$ cd /System/Library/Frameworks/JavaVM.framework/Versions
$ readlink /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents
$ javac -version
javac 1.7.0_25
正如您所看到的,currentjdk
指向的是错误的版本。您可以通过替换符号链接来解决这个问题。
cd /System/Library/Frameworks/JavaVM.framework/Versions
sudo ln -fs /Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents CurrentJDK
这篇博文为我节省了5分钟的运行dtrace
时间。
Java尼奥是在Java引进的。JDK早期版本的编译器会拒绝包含这些NIO类的任何代码。您需要升级到JDK7或更高版本。
我的java编译器找不到包。考虑: 使用编译 给出 我使用的是Ubuntu 12.04,我想我已经安装了JDK 7(参见:package java.nio.file不存在)
我试图监听一个目录的变化,然后发现java.nio.*是为了高效地处理这样的任务而开发的。然后从oracle下载JDK1.7.0_02,并用它启动eclipse。然后创建新的java项目,试图从java.nio.file实现一些类,哦,我的眼睛!“无法解析导入java.nio.file”。我必须在包含这样的包的整个JDK1.7.0_02目录中找到一些。jar吗?还是我的类路径出了问题?提前谢谢!!
我正在尝试在intelliJ中制作一个jar文件。我的目录中保存了所有的java类是C:\transProject\src\cege。在cege中有一个包用户界面,其中有一个类guiMain。而且我已经在我的Main()类中导入了guiMain()。 我有以下代码行: 包装cege; 进口cege。用户界面。圭曼; 当我在intelliJ中使用终端并编写命令时: C:\trafficProject
我得到了一个可怕的软件包,它根本不存在,简直要了我的命。代码很好,我在市场上有运行代码的应用程序。 现在它正在影响简单的应用程序。o.0 <代码>R.string。app_name是错误的my 。应该对应于R.java
我使用的是openjdk版本“1.8.0_252”,我还单独安装了javafx,目前的版本是javafx.version=11.0.2-internal。我已经在IntelliJ中添加了javafx库路径。编写代码javafx对时没有错误。但是,当我使用sudo mvn clean install构建项目时,我出现了以下错误,导致构建失败:
我是编译Hadoop代码的新手,知道这个问题已经被回答过多次了。但是,我仍然很难找到正确的类路径来编译WordCount.java代码。我正在运行一个CentOS版本7。 我的Hadoop版本是: 当我执行echo$path时,我得到了以下结果: 有人能给我指个正确的方向吗?谢谢你。