在IBM i上运行jar(as400/iSeries)

jas*_*lva 3 java console jar ibm-midrange

我正在使用IBM i(通常称为AS/400服务器).

目前我已经能够创建.CLASS文件并完美运行

在as400目录(我认为它被称为IFS或类似的东西)a我的树像:

/
+--Javacfd/
   +--bin/
      +--com/
         +---company/
             Class1.class
             Class2.class    
             Hello.class
             Server.class
             +---other/
                 Other.class
                 Another.class
                 Etc.class
Run Code Online (Sandbox Code Playgroud)

当我运行RUNJVA CLASS('com.company.Hello')良好的作品!要么 RUNJVA CLASS('com.company.other.Other')

现在我需要运行一个可执行jar

在Windows中运行java -jar my-jar.jar良好

我尝试了as400

RUNJVA CLASS('hello.Application') CLASSPATH(':\Javacfd\bin\my-jar.jar')    
Run Code Online (Sandbox Code Playgroud)

我明白了

线程"main"中的异常java.lang.NoClassDefFoundError:hello.Application

RUNJVA CLASS('hello.Application') CLASSPATH('Javacfd\bin\my-jar.jar') 
Run Code Online (Sandbox Code Playgroud)

我明白了

线程"main"中的异常java.lang.NoClassDefFoundError:hello.Application

RUNJVA CLASS('hello.Application') CLASSPATH('\Javacfd\bin\my-jar.jar') 
Run Code Online (Sandbox Code Playgroud)

我明白了

线程"main"中的异常java.lang.NoClassDefFoundError:hello.Application

RUNJVA CLASS('hello.Application') 
Run Code Online (Sandbox Code Playgroud)

我明白了

线程"main"中的异常java.lang.NoClassDefFoundError:hello.Application

注意 hello是包,Application是一个Main类.Jar文件是语言环境\Javacfd\bin\my-jar.jar

我做错了?

jam*_*man 6

假设jar包含正确的清单,您可以在RUNJVA命令CLASS参数上指定jar文件:

RUNJVA CLASS('/Javacfd/bin/my-jar.jar')
Run Code Online (Sandbox Code Playgroud)

您还可以通过Qshell解释器使用标准的java工具和实用程序:

QSH CMD('java -jar /Javacfd/bin/my-jar.jar')
Run Code Online (Sandbox Code Playgroud)