java - 如何在 linux 终端的 shell 脚本上运行 jar 文件?

标签 java linux shell

我做了一个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 脚本在 Windows 中工作。 但是 linux 没有用。不知道为什么

这是错误信息。

Could not find or load main class

最佳答案

您好,运行 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"

关于java - 如何在 linux 终端的 shell 脚本上运行 jar 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49280092/

相关文章:

c - 带有引号的 grep 的 execvp()

java - 在操作栏上按 "back"时 Android 应用程序崩溃

java - Hibernate 查询/条件返回重复数据

java - 如何将十六进制值从 RGB 添加到 Jpanel

java - 如何为具有不同主类的一组 jar 设置类路径

android - 无法建立波动率概况

c - 为什么在检查构成存储在内存中的编译函数的字节时会得到不正确的结果 "ffff..."?

shell - awk 操作csv文件

java - 使用 Netty 按百分比限制服务器带宽

linux - Shell one liner别名howto?