Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将java库包含到shell脚本中_Java_Bash_Shell_Cygwin - Fatal编程技术网

如何将java库包含到shell脚本中

如何将java库包含到shell脚本中,java,bash,shell,cygwin,Java,Bash,Shell,Cygwin,我有一个java类,如下所示: package test.shell.com; public class RunTest { public static void main(String[] args) { System.out.print("Hello"); } } #!/bin/sh java test.shell.com.RunTest 从shell脚本中,我的代码如下: package test.shell.com; public class RunTest {

我有一个java类,如下所示:

package test.shell.com;
public class RunTest { 
  public static void main(String[] args) {
    System.out.print("Hello");
  }
}
#!/bin/sh
java test.shell.com.RunTest
从shell脚本中,我的代码如下:

package test.shell.com;
public class RunTest { 
  public static void main(String[] args) {
    System.out.print("Hello");
  }
}
#!/bin/sh
java test.shell.com.RunTest
当我通过cygwin运行shell文件时。它返回的结果如下所示:

package test.shell.com;
public class RunTest { 
  public static void main(String[] args) {
    System.out.print("Hello");
  }
}
#!/bin/sh
java test.shell.com.RunTest

因此,当我在java程序中使用java库时:

package test.shell.com;

import org.json.simple.JSONObject;

public class RunTest {

    public static void main(String[] args) {
      JSONObject test = new JSONObject();
      test.put("name","Test");
      System.out.print("Hello" + test.get("name")); 
    }
}
然后再次运行shell脚本,它显示错误消息如下:

package test.shell.com;
public class RunTest { 
  public static void main(String[] args) {
    System.out.print("Hello");
  }
}
#!/bin/sh
java test.shell.com.RunTest


我知道shell脚本不知道JSON库,但我不知道如何将它包含到shell脚本中。请帮助…

您需要将JAR的路径添加到参数中,并使用“java-classpath”命令运行它

例如:CLASSPATH=yourownjar.jar:xxx.jar:/xx/xx/xxx1.jar:“$CLASSPATH”(yourownjar和jdk类路径配置也应包含在此参数中)

然后使用java-classpath运行:


java-classpath${classpath}xx.Main

您需要用所有导入的库创建一个jar。不是shell脚本不了解库,而是程序本身。要么您的系统上不存在,要么您需要指定正确的classpath@YevhenDanchenko你能详细描述一下用所有导入的库制作一个jar吗?仍然不工作,当我添加类路径时,它显示了这个错误**错误:找不到main class test.shell.com.RunTest或者无法加载**@HocN year,我忘了,您自己的jar也应该包含在类路径中。@maxlowbox我添加了我的jar文件,如:
classpath=/test/shell/com/test.jar:/test/shell/com/json-simple-1.1.jar java-classpath${classpath}test.shell.com.RunTest
,但它仍然显示旧错误。@HocN classpath=/test/shell/com/test.jar:/test/shell/com/json simp‌​le-1.1.jar:“$CLASSPATH”,机器环境中的源类路径也应该是included@MaxllowFox我添加了所有类似CLASSPATH=/test/shell/com/test.jar:/test/shell/com/json simp的东西‌​‌​le-1.1.jar:“$CLASS”‌​但是它仍然显示错误:((