我在CentOS 7服务器上有一个位于Test.java
的java程序/path/to/parent
。 如何编译它以便可以使用.class
命令从.jar
成功调用生成的/path/to/parent
或java
文件?我正在尝试尽可能保持/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
。 那么如何更改上述内容以便我可以使用/path/to/parent
命令从java
成功调用该程序,而不会使/path/to/parent
混乱?
答案 0 :(得分:1)
使用java -cp "/path/to/parent/bin":"/path/to/parent/dependencies/*" mainpackage.Test arg0 arg1
来运行它。