【问题标题】:How to compile java classes which are inside multiple folders?如何编译多个文件夹中的java类?
【发布时间】:2011-05-11 10:29:21
【问题描述】:

我是 Java 世界的新手。我有几个嵌套文件夹中的类。

我的命名空间具有以下文件夹结构(假设 companyName 文件夹位于 C:\ 上):

companyName -> isuName -> projectName -> module1 -> sampleclass1.java companyName -> isuName -> projectName -> module2 -> sampleclass2.java companyName -> isuName -> projectName -> module3 -> codePart3.1 -> sampleclass3.java companyName -> isuName -> projectName -> module3 -> codePart3.2 -> sampleclass4.java

我的问题是,我想从命令提示符编译所有这些类。

我尝试了以下命令,但它不起作用:

C:\> javac -sourcepath companyName\*.java

但它不起作用。我收到以下错误:

javac: no source files
Usage: javac <options> <source files>

请帮助编译所有这些类,并可能从中创建 jar。

【问题讨论】:

  • @equality,感谢您的帮助。我经历了那个问题。它与我的问题不相似。我没有重复的类,并且我使用的是 Windows 机器,所以我不能使用该问题/答案中指定的 shell 脚本和其他命令。有什么简单的方法可以编译一个包中的所有类吗?

标签: compiler-errors compilation javac


【解决方案1】:

我查看了the manual page for javac,看来您必须在命令行上拼出源文件,或者您必须将它们列在单独的文件中,并在命令行上引用该文件。

我将您问题中的前两个源文件设置在类似的树中,并将它们编译如下:

C:\>"\Program Files\Java\jdk1.6.0_24\bin\javac.exe" company\isu\project\module\HelloJava.java company\isu\project\module\ByeBye.java

使用另一种方法,我生成了这个文件:

C:\>type sourcefiles.txt
company\isu\project\module\HelloJava.java
company\isu\project\module\ByeBye.java

然后我将该文件提供给 javac 编译器,在手册中添加“@”说明符。

C:\>"\Program Files\Java\jdk1.6.0_24\bin\javac.exe" @sourcefiles.txt

The manual page for jar 似乎没有产生相同的技术,所以我像以前一样在命令行中指定了文件。

C:\>"\Program Files\Java\jdk1.6.0_24\bin\jar.exe" -cf myjar.jar company\isu\project\module\HelloJava.class company\isu\project\module\ByeBye.class

当然,这样做有点乏味,所以我强烈推荐Ant,你可以在Windows上运行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-27
    相关资源
    最近更新 更多