在命令行编译.java文件 - 外部库,类路径(Compiling .java files from

2019-08-22 22:21发布

我做了在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

Answer 1:

你看.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项目中使用这些工具来构建自己的产品在命令行和自动化构建系统,持续集成等。



Answer 2:

基本的Eclipse编译你的程序,并把他们在bin文件夹中。 而命令行编译它们放在同一个目录本身。 如果你在src文件夹本身编译的文件,你会看到它与散落.class文件现在。 在Eclipse Java编译器的默认目录为您的项目。 对于命令行这是在源文件所在的文件夹。

所以,如果你有一个名为Project Project上你的Desktop ,然后因为Eclipse对源文件的缺省目录Project\srcC:\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