所以我有一个包含多个java文件的java项目。
我知道使用批处理文件启动java应用程序几乎是直截了当的。但这是一个非常简单的java程序,只有一个类。
但是我想知道是否可以在通常使用eclipse创建的项目规模中执行此操作。一个包含多个包,类和多个java文件的大型项目。
我的尝试是写一个脚本并在主类上应用如下
set path = C:\Program Files\Java\jdk1.7.0_25\bin
javac -classpath twitter/twitter4j-stream-3.0.5.jar;twitter4j-core-3.0.5.jar" sourcepath="lib/twitter4j-core-4.0.1.jar;lib/twitter4j-core-4.0.1.jar;lib/twitter4j-stream-4.0.1.jar;svm_light_lib Program.java
java Program
然而,当我启动.bat文件时,它会自动关闭。 任何想法?
提前致谢
答案 0 :(得分:1)
path
,甚至不要覆盖There exists a particular path
command set "path=%path%;%mypath%"
暂时。请改为添加您的文件夹:set "path=%mypath%;%path%"
或path=%path%;%mypath%
。=
path %path%;%mypath%
分配或"%mypath%\javac"
没有它。)-classpath
。-sourcepath
和mycpth
选项的值分别存储在Displays the message mysrcp
和"
中。请注意并使用正确的=
引号,set
周围没有间距,以避免所有pause
命令中的任何前导和尾随空格。javac
查看所有Press any key to continue . . .
输出。 {{3}} set "mypath=C:\Program Files\Java\jdk1.7.0_25\bin"
set "path=%path%;%mypath%"
set "mycpth=twitter/twitter4j-stream-3.0.5.jar;twitter4j-core-3.0.5.jar"
set "mysrcp=lib/twitter4j-core-4.0.1.jar;lib/twitter4j-core-4.0.1.jar;lib/twitter4j-stream-4.0.1.jar;svm_light_lib"
"%mypath%\javac" -classpath "%mycpth%" -sourcepath "%mysrcp%" Program.java
pause
java Program
下一个代码应该是(语法)无错误的。但是,成功还取决于(等等) classpath 和 sourcepath 条目的可见性......
{{1}}
答案 1 :(得分:0)
但是我想知道是否可以在通常使用eclipse创建的项目规模中执行此操作。一个包含多个包,类和多个java文件的大型项目。
当然有可能!
在这种情况下,我怀疑问题是你java
命令没有“-cp”参数。 java
命令可能失败,因为它无法在运行时找到twitter类。
请记住包含“。”在类路径...或者java
将找不到您刚刚编译的文件。
@JB Nizet的建议对于找出实际发生的情况也是非常重要的建议。