类路径在Linux下不起作用

任何人都知道为什么该命令在Windows中可以正常工作,但是在Linux中,我得到了ClassNotFoundException game.ui.Main


java -cp ".;lib/*" game.ui.Main -Xms64m -Xmx128m

我的文件夹结构如下:lib /-Jars游戏/-类文件


这是最新的Java 6。


繁星点点滴滴
浏览 580回答 3
3回答

翻阅古今

在要在两种平台(Windows(即cygwin)和Linux)上运行的脚本中使用类路径时,路径也很重要。当我这样做时,我为类路径包括了一个类似这样的函数。带有'-w'选项的'cygpath'命令将路径转换为Windows样式的路径。因此,在此示例中,“ / home / user / lib / this.jar”将被转换为“ C:\ Cygwin \ home \ user \ lib \ this.jar”#!/bin/bashfunction add_java_classpath() {  local LOCAL1=$1  if [ "$OSTYPE" == cygwin ]; then    LOCAL1="$(cygpath -C ANSI -w $LOCAL1)"  fi  if [ -z "$JAVA_CLASSPATH" ]; then    JAVA_CLASSPATH="$LOCAL1"  elif [ "$OSTYPE" != cygwin ]; then    JAVA_CLASSPATH="${JAVA_CLASSPATH}:$LOCAL1"  else    JAVA_CLASSPATH="${JAVA_CLASSPATH};$LOCAL1"  fi      }add_java_classpath /home/user/lib/this.jaradd_java_classpath /usr/local/lib/that/that.jarjava -cp "${JAVA_CLASSPATH}" package.Main $@

呼啦一阵风

视窗:java -cp file.jar;dir/* my.app.ClassNameLinux:java -cp file.jar:dir/* my.app.ClassName提醒:Windows路径分隔符为 ;Linux路径分隔符是 :在Windows中,如果cp参数不包含空格,则引号是可选的
打开App,查看更多内容
随时随地看视频慕课网APP