Это
java.lang.UnsupportedClassVersionError
означает, что некоторые из библиотек в вашем проекте используют другую версию Java и соответственно установлены в пути. Быстрые вещи, чтобы решить эту проблему:
$>which java
вывод -> расположение текущей Java (например. /usr/bin/java)
java --version
выход ->1.7.0 или 1.8.0 в этом случае попробуйте переключить версию, для этого сделайте следующее:
export JAVA_HOME=<path to diff java version sdk>
export PATH=$JAVA_HOME/bin:$PATH
Это позволяет новому пути идти перед старым путем, а также для конкретных ошибок eclipse, взгляните на кеш eclipse в домашнем каталоге (Папка.eclipse в вашем проекте ). Вы можете безопасно удалить этот каталог вместе с файлами.project, если таковые имеются, и перекомпилировать.
Изменить :Смещение = 6 означает, что ваша текущая версия для java (JDK )— 1.6. Попробуйте переключиться на более поздние версии. Также убедитесь, что вы используете путь Jdk, а не путь jre
Если ваш grep
имеет переключатель-o
(или--only-matching
)и ваша оболочка поддерживает здесь строки:
grep -o -- "$pattern" <<<"$sample_input"
мы подготавливаем еще одну переменную var p, которая содержит экранированную версию переменной pat.
pat='s.'
p=${pat//\//\\/}
sample_input='abcdsasd kmsa so
msd ks'
Использование perl
в режиме slurp, чтобы весь входной образец был в одной записи$_
$ printf '%s\n' "$sample_input" | pat="$pat" \
perl -ln -0777e 'print for s/\n\z//r =~ /$ENV{pat}/sg'
Здесь мы используем sed
в псевдокоде:
_DO_=':a' _UNTIL_NOPAT_=${_DO_/:/t }
_SAVE_='h' _RETRIEVE_='g'
_RM_PAT_='s/'"$p"'\(.*\)/\1/'
_SLURP_='$!{N;s/^/\n/;D;}'
_CHOMP_R='s/\('"$p"'\).*/\1/'
_CHOMP_L_n_PRNT='s/.*\('"$p"'\)/\1/p'
printf '%s\n' "$sample_input" |
sed -ne "
${_SLURP_}
${_DO_}
${_SAVE_}
${_CHOMP_R}
${_CHOMP_L_n_PRNT}
${_RETRIEVE_}
${_RM_PAT_}
${_UNTIL_NOPAT_}
"