繁体   English   中英

如何编译Java程序以从给定文件夹运行?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM