我正在尝试使用javac从命令行编译java项目,但我在命令行上没有输出。此外,还没有生成.class文件。
我用来调用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
问题是命令行上没有输出(如果我错过了拼写其中一个命令行开关,那么命令行上就会出现错误输出)并且在classes文件夹中没有生成.class文件。 另外,如果我将'-Xstdout output.txt'开关添加到选项文件并尝试编译。创建了javac命令,退出和output.txt文件,但文件中没有信息。
我的问题是: 我使用错误的语法来调用javac,我应该如何更改它?
编辑:
我更改了Jasper的答案中提到的选项和javaFiles文件,但我得到了 现在低于错误:
* __ * javac @options @javaFiles
javac:找不到文件:com \ compname \ cloud \ automation \ portal \ definitions \ landing \ LandingPage.java
用法:javac <options> <source files>
使用-help获取可能的选项列表
编辑2:
好的,这个问题与类路径中的一个jar有关。当删除那个jar时(一次删除每个jar的a $$中的痛苦)一切都正确编译并创建.class文件。
我仍然不确定当这个jar在类路径上时,为什么javac会无声地失败,即使使用了详细的开关。
目前,我可以绕过不使用这个罐子。我感谢人们提供的帮助......
答案 0 :(得分:0)
在第二个文件中,不使用完整路径名,而只使用程序包基本目录中的路径名。假设您的代码位于包org.mypackage
中,并且您的源文件位于C:\myproject\src\org\mypackage
目录中,请将其放在第二个文件中:
org\mypackage\One.java
org\mypackage\Two.java
在第一个文件中,添加-sourcepath
选项:
-sourcepath C:\myproject\src
答案 1 :(得分:0)
我遇到了同样的问题,它似乎与已签名和未签名的第三方jar文件有关:
希望这有帮助, .Andrea