我做了在Eclipse中的一个项目,我现在想确保.java文件命令行编译。 我一直在尝试使用编译javac *.java
用我所有的.java文件的文件夹中。 然而,这导致在错误由于从外部库,约达时间的基准的一类。 我有一个Eclipse进行项目制作,但不知道该怎么做以下.classpath文件。
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
<classpathentry kind="lib" path="libs/joda-time-2.2.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
我试着用编译javac -classpath *.java
但这只能产生更多的错误。 我的源文件是一个“SRC”文件夹内包文件夹内。 我应该把我的类路径的文件和我的乔达时间,2.2.jar文件,以及如何获得一切编译?
[编辑]我使用的是Windows 7
你看.classpath
文件,这可能工作:
javac -d bin -cp libs/joda-time-2.2.jar src/your/package/*.java
这是假设你在你的项目的目录中运行它。
该-d
标志告诉javac
地方放置输出文件。 该-cp
标志是一个速记-classpath
。 我基础上,得到了这些参数.classpath
在你的问题的文件。
一般来说,你可以弄清楚什么是阅读和理解的输出误差所需javac
。 我敢打赌,你有很多cannot find symbol
在第一的错误,因为“符号”并没有在classpath中,所以javac
不可能知道如何找到它们。
它是了解如何建立你的项目非常重要,它是基础知识和编程的核心竞争力。
一旦你了解如何手动建立这样的,我建议寻找到构建工具,最好的Maven,或者蚂蚁,使在命令行上建设容易得多。 大多数Java项目中使用这些工具来构建自己的产品在命令行和自动化构建系统,持续集成等。
基本的Eclipse编译你的程序,并把他们在bin
文件夹中。 而命令行编译它们放在同一个目录本身。 如果你在src文件夹本身编译的文件,你会看到它与散落.class
文件现在。 在Eclipse Java编译器的默认目录为您的项目。 对于命令行这是在源文件所在的文件夹。
所以,如果你有一个名为Project Project
上你的Desktop
,然后因为Eclipse对源文件的缺省目录Project\src
是C:\Users\UserName\Desktop\Project
,但如果你使用命令行,则默认编译目录为C:\Users\UserName\Desktop\Project\src
。
要以编程方式获得当前默认目录,使用:
System.out.println("System.getProperty ("user.dir")");
现在,如果你需要使用命令行编译,我会建议你把.jar
文件在你src
文件夹中。
不过,我不认为你需要.classpath
文件。 这里是它是什么。
文章来源: Compiling .java files from the command line - external libraries, classpath