[英]how can i compile a java program to run from a given folder?
我在CentOS 7服务器上的/path/to/parent
有一个Java程序Test.java
。 我如何编译它,以便可以使用java
命令从/path/to/parent
成功调用生成的.class
或.jar
文件? 我试图尽可能使/path/to/parent
保持干净,而不会与可以放在子目录中的文件混淆。 另请注意,该程序需要许多依赖项,这些依赖项位于/path/to/parent/dependencies/
这是我到目前为止的内容:
Test.java
的代码是:
package somepackage;
public class Test{
public static void main(String[] args){
int index;
for (index = 0; index < args.length; ++index){
System.out.println("args[" + index + "]: " + args[index]);
}
}
}
当终端指向/path/to/parent/
,我输入以下内容来编译Test.java
:
javac -d bin -cp .:"/path/to/parent/dependencies/*" Test.java
然后,我可以通过输入以下内容导航到/path/to/parent/bin
并成功运行该程序:
java -cp .:"/path/to/parent/dependencies/*" somepackage.Test arg0 arg1
但是,我无法从运行程序/path/to/parent
因为试图这样做给人的错误: Could not find or load main class somepackage.Test
。 因此,如何更改以上内容,以便可以使用java
命令从/path/to/parent
成功调用程序,而又不会使/path/to/parent
混乱?
使用java -cp "/path/to/parent/bin":"/path/to/parent/dependencies/*" mainpackage.Test arg0 arg1
来运行它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.