Сборка WALA на osx «импорт java.lang.invoke не может быть решен»

1

Я пытаюсь скомпилировать WALA на OSX и получить запутанную ошибку, что он не может найти java.lang.invoke.CallSite. Странно, что я могу написать простой проект, который импортирует java.lang.invoke. * И скомпилировать его с javac просто отлично.

Спасибо за помощь!

java-версия: '

java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)

'

Версия mvn: '

JAVA_HOME:
/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home
Apache Maven 3.1.1 (0728685237757ffbf44136acec0402957f723d9a; 2013-09-17 09:22:22-0600)
Maven home: /opt/apache-maven-3.1.1
Java version: 1.6.0_65, vendor: Apple Inc.
Java home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Default locale: en_US, platform encoding: MacRoman
OS name: "mac os x", version: "10.9.4", arch: "x86_64", family: "mac"

'

Команда и ошибка:

mvn clean verify -DskipTests = true -q

'

JAVA_HOME:
/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home
[INFO] Building jar: /Users/s/Documents/source/WALA/com.ibm.wala.util/walaUtil.jar
[INFO] Building jar: /Users/s/Documents/source/WALA/com.ibm.wala.util/target/com.ibm.wala.util-1.3.4-SNAPSHOT.jar
[ERROR] Failed to execute goal org.eclipse.tycho:tycho-compiler-plugin:0.19.0:compile (default-compile) on project com.ibm.wala.shrike: Compilation failure: Compilation failure:
[ERROR] /Users/s/Documents/source/WALA/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/InvokeDynamicInstruction.java:[3]
[ERROR] import java.lang.invoke.CallSite;
[ERROR] ^^^^^^^^^^^^^^^^
[ERROR] The import java.lang.invoke cannot be resolved
[ERROR] /Users/s/Documents/source/WALA/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/InvokeDynamicInstruction.java:[4]
[ERROR] import java.lang.invoke.MethodHandles;
[ERROR] ^^^^^^^^^^^^^^^^
[ERROR] The import java.lang.invoke cannot be resolved
[ERROR] /Users/s/Documents/source/WALA/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/InvokeDynamicInstruction.java:[5]
[ERROR] import java.lang.invoke.MethodType;
[ERROR] ^^^^^^^^^^^^^^^^
[ERROR] The import java.lang.invoke cannot be resolved
[ERROR] /Users/s/Documents/source/WALA/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/InvokeDynamicInstruction.java:[132]
[ERROR] public CallSite bootstrap(Class cl) throws ClassNotFoundException, NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {
[ERROR] ^^^^^^^^
[ERROR] CallSite cannot be resolved to a type
[ERROR] /Users/s/Documents/source/WALA/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/InvokeDynamicInstruction.java:[136]
[ERROR] MethodType bt = MethodType.fromMethodDescriptorString(bootstrap.methodType(), bootstrapCL);
[ERROR] ^^^^^^^^^^
[ERROR] MethodType cannot be resolved to a type
[ERROR] /Users/s/Documents/source/WALA/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/InvokeDynamicInstruction.java:[136]
[ERROR] MethodType bt = MethodType.fromMethodDescriptorString(bootstrap.methodType(), bootstrapCL);
[ERROR] ^^^^^^^^^^
[ERROR] MethodType cannot be resolved
[ERROR] /Users/s/Documents/source/WALA/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/InvokeDynamicInstruction.java:[139]
[ERROR] args[0] = MethodHandles.lookup().in(cl);
[ERROR] ^^^^^^^^^^^^^
[ERROR] MethodHandles cannot be resolved
[ERROR] /Users/s/Documents/source/WALA/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/InvokeDynamicInstruction.java:[141]
[ERROR] args[2] = MethodType.fromMethodDescriptorString(getMethodSignature(), cl.getClassLoader());
[ERROR] ^^^^^^^^^^
[ERROR] MethodType cannot be resolved
[ERROR] /Users/s/Documents/source/WALA/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/InvokeDynamicInstruction.java:[146]
[ERROR] return (CallSite) bootstrap.invoke(null, args);
[ERROR] ^^^^^^^^
[ERROR] CallSite cannot be resolved to a type
[ERROR] /Users/s/Documents/source/WALA/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/shrikeCT/tools/BootstrapDumper.java:[17]
[ERROR] import java.lang.invoke.CallSite;
[ERROR] ^^^^^^^^^^^^^^^^
[ERROR] The import java.lang.invoke cannot be resolved
[ERROR] /Users/s/Documents/source/WALA/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/shrikeCT/tools/BootstrapDumper.java:[18]
[ERROR] import java.lang.invoke.MethodHandles;
[ERROR] ^^^^^^^^^^^^^^^^
[ERROR] The import java.lang.invoke cannot be resolved
[ERROR] /Users/s/Documents/source/WALA/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/shrikeCT/tools/BootstrapDumper.java:[86]
[ERROR] CallSite target = ((InvokeDynamicInstruction)inst).bootstrap(cl);
[ERROR] ^^^^^^^^
[ERROR] CallSite cannot be resolved to a type
[ERROR] /Users/s/Documents/source/WALA/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/shrikeCT/tools/BootstrapDumper.java:[86]
[ERROR] CallSite target = ((InvokeDynamicInstruction)inst).bootstrap(cl);
[ERROR] ^^^^^^^^^
[ERROR] The method bootstrap(Class) from the type InvokeDynamicInstruction refers to the missing type CallSite
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <goals> -rf :com.ibm.wala.shrike

'

Теги:
maven
macos

1 ответ

4
Лучший ответ

Пакет java.lang.invoke был представлен на Java 7. Как показывает ваша команда mvn version, Maven использует Java 6:

Java version: 1.6.0_65, vendor: Apple Inc.
Java home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

Вам нужно настроить Maven для использования Java 7, возможно, путем редактирования .mavenrc.

  • 0
    Благодарю. Я, вероятно, должен указать на один камень преткновения в случае, если кто-то столкнется с той же проблемой, в статье, которая связана, он показывает «вокруг имени пути, и это должно быть». Возможно, это просто странная проблема с форматированием HTML.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню