javac不产生输出

问题描述:

我想从命令行使用javac编译一个java项目,但我在命令行上没有输出。另外,.class文件没有被生成。javac不产生输出

我使用调用javac命令的确切语法如下:

javac @options @javaFiles 

选项文件的内容是如下:

-g 
-verbose 
-d classes 
-classpath cp1;cp2;cp3 

其中CP1,2,3等指我的机器上的jar文件。该javaFiles文件有,我希望编译的java文件列表:

C:\path\to\dir\one.java 
C:\path\to\dir\two.java 

的问题是,有在命令行上没有输出(如果我错过了,拼的命令行开关之一则有错误输出在命令行中)并且没有.class文件在classes文件夹中生成。 此外,如果我将'-Xstdout output.txt'开关添加到选项文件并尝试编译。 javac命令退出并创建output.txt文件,但文件中没有信息。

我的问题是: 我使用错误的语法来调用javac,我应该如何改变它?

编辑:

我改变了选项和javaFiles文件在Jasper的答复中提到,但现在我得到以下错误 :

* __ *的javac @options @javaFiles
的javac:文件未找到:com \ compname \ cloud \ automation \ portal \ definitions \ landing \ LandingPage.java
用法:javac <options> <source files>
使用-help查看可能的选项列表

编辑2:

好吧,这个问题是与类路径中的罐子之一。当那个jar被移除时(每次移除每个jar的痛苦)一切都编译正确,并创建.class文件。

我仍然不确定为什么javac会在该jar放在类路径中时静静地失败,即使使用了详细开关。

目前,我可以避开这个罐子。我赞赏人们提供的帮助...

+0

你从哪个目录调用'javac ...'?它应该从包层次结构根目录的文件(即'com'目录所在的目录)中调用。 –

在第二个文件中,不是使用完整路径名,而是使用包的基本目录中的路径名。假设你的代码是在一个包org.mypackage,和你的源文件所在的目录C:\myproject\src\org\mypackage,把这个在第二个文件:

org\mypackage\One.java 
org\mypackage\Two.java 

在第一个文件,添加一个-sourcepath选项:

-sourcepath C:\myproject\src 
+0

在您的输入上编辑原始帖子 – bmooney

+0

您是否还添加了'-sourcepath'选项? – Jesper

我遇到了同样的问题,似乎与签署vs.未签名的第三方jar文件:

  • 如果我叫的javac和使用签名的JAR文件,一切正常
  • 如果我编译我的代码之前签第三方jar文件,javac的默默失败

希望这会有帮助, 。安德里亚