У меня есть веб-приложение, которое отлично отлично работает на tomcat моей локальной машины (8.0.20). Однако, когда я помещал его в среду qa (tomcat - 8.0.20), он продолжал давать мне IncompatibleClassChangeError, и он жаловался, что я расширялся на интерфейсе. Этот интерфейс был изменен на абстрактный класс. И я скомпилировал родительский и дочерний классы, и все же я продолжал получать ту же проблему. Наконец, я хотел отлаживать, поэтому я изменил версию родителя на x.0.1-SNAPSHOT, а затем скомпилировал все, и теперь он работает. Если кто-то все еще сталкивается с проблемой после следующих ответов, пожалуйста, убедитесь, что версии в вашем pom.xml также верны. Измените версии, чтобы увидеть, работает ли это. Если да, то исправьте проблему с версией.
Используйте команду basename , чтобы извлечь имя файла из пути:
[/tmp]$ export fspec=/exp/home1/abc.txt
[/tmp]$ fname=`basename $fspec`
[/tmp]$ echo $fname
abc.txt
bash:
fspec="/exp/home1/abc.txt"
fname="${fspec##*/}"
bash для получения имени файла
fspec="/exp/home1/abc.txt"
filename="${fspec##*/}" # get filename
dirname="${fspec%/*}" # get directory/path name
другие способы
awk
$ echo $fspec | awk -F"/" '{print $NF}'
abc.txt
sed
$ echo $fspec | sed 's/.*\///'
abc.txt
используя IFS
$ IFS="/"
$ set -- $fspec
$ eval echo \${${#@}}
abc.txt