【问题标题】:How to run jar file on shell script in linux terminal?如何在 linux 终端的 shell 脚本上运行 jar 文件?
【发布时间】:2018-03-14 14:18:40
【问题描述】:

我做了一个java项目。 该项目是....输出日志消息和system.out.println消息。很简单。 于是我改成了一个jar文件(名字是LinuxSample.jar)。 我写了一个shell脚本来运行这个jar文件。 看看这个 shell 脚本。 (speakee 是包名,PrintLinux 是主类名)

#!bin/bash
CLASSPATH=/home/tangooc/TANGOOC/test/libs/*
CLASSPATH="${CLASSPATH};/home/tangooc/TANGOOC/test/linux/LinuxSample.jar"
java speakee.PrintLinux

这个 jar 文件和这个 shell 脚本在 Window 中工作。 但是linux没有用。不知道为什么

这是错误信息。

Could not find or load main class

【问题讨论】:

  • Could not find or load main class -> 类有没有 main 方法?是public static 吗?类编译了吗?
  • 在命令行中使用-jar开关不是执行java jar归档的常用方法吗?所以就像java -jar LinuxSample.jar...
  • @Arun 是的,它是一个主要方法并且已经编译
  • @arkascha 我在 shell 脚本中添加了句子(java -jar LinuxSample.jar)。但它不起作用并且错误消息--->(错误:无法访问 jarfile LinuxSample.jar)我认为这个 jar 需要库。但我已经添加了 CLASSPATH 库...嗯..,,,,
  • 听起来像你有一个路径问题,所以你只指定了文件名,但你当前的工作目录在另一个文件夹中。尝试使用完整的绝对路径或更改脚本中的工作目录。

标签: java linux shell


【解决方案1】:

嗨,运行 java 应用程序的最佳方法是首先设置 CLASS_PATH 和 PATH 变量。如果您当前的 jar 文件依赖于外部 jar 文件,您将面临很多问题。最好像下面这样设置路径变量并运行应用程序:-

#!/usr/bin/ksh
export PATH=/usr/java/bin:$PATH
# =/usr/java/bin is your java bin folder
#set environment variable CP with all the jar libraries
CP=/home/flussi/xmlEncoder/encoder.jar 
CP=${CP}:/other/jar/somejar.jar

java -Xmx256M -classpath "$CP" "com.myproj.Example"

【讨论】:

  • 感谢您的评论,但它仍然无法正常工作并打印错误消息 ---> 无法找到或加载主类 speakee.PrintLinux
【解决方案2】:

我做到了 我更改了 shell 脚本。

CLASSPATH=/home/tangooc/TANGOOC/test/client/LinuxSample.jar
LIB_TOTAL=/home/tangooc/TANGOOC/test/libs/*
echo ${LIB_TOTAL}
echo ${CLASSPATH}
java -cp ${LIB_TOTAL}:${CLASSPATH} speakee.PrintLinux

还有另一种方法。

CLASSPATH=/home/tangooc/TANGOOC/test/client/LinuxSample.jar
CLASSPATH=${CLASSPATH}:/home/tangooc/TANGOOC/test/libs/*
echo ${CLASSPATH}
java -cp ${CLASSPATH} speakee.PrintLinux

如果像我这样的人更改 shell 脚本。 并检查一行,一行,一行...

【讨论】:

    猜你喜欢
    • 2016-09-23
    • 2013-08-06
    • 1970-01-01
    • 1970-01-01
    • 2013-05-08
    • 2010-10-18
    • 2012-11-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多