今天我在macOS Sierra上升级了我的Intellij Idea,现在,当我在控制台中运行应用程序时出现此错误:
objc [3648]:类JavaLaunchHelper在/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/bin/java(0x10d19c4c0)和/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/中实现. Contents/Home/jre/lib/libinstrument.dylib(0x10ea194e0).将使用两者之一.哪一个未定义.
所以我前一段时间安装了JDK 8测试版以查看一些示例.我现在肯定地想,很容易在版本之间进行更改.
使用IntelliJ进行一些Play开发.出于某种原因,IntelliJ正在使用8进行编译,即使:
如果我转到Java首选项页面,它确实显示已安装8,但没有选项可以卸载它,它没有看到任何其他版本.
当我这样做时which java
,它告诉我/usr/bin/java
和我这样做/usr/bin/java -version
,它返回1.6.
注意:有点小小的,你可以使用IntelliJ和JDK7,见这里.
在Mac OS X上的Eclipse Kepler上安装一个简单的Google App Engine Web应用程序项目,版本为"1.7.0_45"
遇到以下情况:
objc[5398]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/bin/java and /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/jre/lib/libinstrument.dylib. One of the two will be used. Which one is undefined.
Run Code Online (Sandbox Code Playgroud)
当我尝试在localhost上作为Web应用程序运行时
可能与以下问题有关:
https://code.google.com/p/googleappengine/issues/detail?id=10046
任何帮助都会有用.
我正在尝试启动Cassandra,我遇到了一个问题,JavaLaunchHelper位于两个地方.我正在运行Java 8.这是确切的错误:
objc[413]: Class JavaLaunchHelper is implemented in both
/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home/bin/java and
/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home/jre/lib/libinstrument.dylib.
One of the two will be used. Which one is undefined.
Run Code Online (Sandbox Code Playgroud)
为Java 7找到了类似的问题:
类JavaLaunchHelper在两者中实现.将使用两者之一.哪一个未定义
解决这个问题的最佳方法是什么?
我们使用Powermockito和Mockito来模拟一些静态类.似乎java.lang.ExceptionInInitializerError
每次都会抛出.
你能帮我找出问题所在吗?
正在测试的Java类
package com.myproject.myproduct.search.domain;
import org.elasticsearch.index.query.MultiMatchQueryBuilder;
import org.elasticsearch.index.query.QueryBuilders;
public class MyQueryBuilder {
public MultiMatchQueryBuilder getMultiMatchQueryBuilder() {
MultiMatchQueryBuilder builder = QueryBuilders.multiMatchQuery("term", "field1");
builder.field("field1",200.9f);
return builder;
}
}
Run Code Online (Sandbox Code Playgroud)
使用Powermock跑步者进行Junit测试
package com.myproject.myproduct.search.domain;
import org.elasticsearch.index.query.MultiMatchQueryBuilder;
import org.elasticsearch.index.query.QueryBuilders;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.powermock.api.mockito.PowerMockito;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
@RunWith(PowerMockRunner.class)
@PrepareForTest(QueryBuilders.class)
public class MyQueryBuilderTest {
private MyQueryBuilder myQueryBuilder;
@Test
public void test() {
PowerMockito.mockStatic(QueryBuilders.class);
MultiMatchQueryBuilder builder = PowerMockito.mock(MultiMatchQueryBuilder.class);
}
}
Run Code Online (Sandbox Code Playgroud)
而已.一旦我尝试模拟MultiMatchQueryBuilder,测试代码就无法运行.
这是例外:
位于org.elasticsearch.index.query.AbstractQueryBuilder的org.elasticsearch.common.ParseField.(ParseField.java:35)的org.elasticsearch.common.logging.DeprecationLogger.(DeprecationLogger.java:138)中的java.lang.ExceptionInInitializerError. (AbstractQueryBuilder.java:53)在sun.reflect.GeneratedSerializationConstructorAccessor7.newInstance(未知来源)在java.lang.reflect.Constructor.newInstance(Constructor.java:423)在org.objenesis.instantiator.sun.SunReflectionFactoryInstantiator.newInstance(SunReflectionFactoryInstantiator的.java:40)在org.objenesis.ObjenesisBase.newInstance(ObjenesisBase.java:59)在org.mockito.internal.creation.jmock.ClassImposterizer.createProxy(ClassImposterizer.java:128)在org.mockito.internal.creation. jmock.ClassImposterizer.imposterise(ClassImposterizer.java:63)atg.powermock.api.mockito.internal.mockcreation.MockCreator.createMethodInvocationControl(MockCreator.java:111)org.powermock.api.mockito.internal.mockcreation.MockCreator.模拟(MockCreator.java:6 0)在org.powermock.api.mockito.PowerMockito.mock(PowerMockito.java:143)的com.spartasystems.stratas.search.domain.MyQueryBuilderTest.testBoostSetProperly(MyQueryBuilderTest.java:22)at sun.reflect.NativeMethodAccessorImpl.invoke0 (本地方法)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498) )在org.junit的org.junit.internal.runners.TestMethod.invoke(TestMethod.java:68)org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl $ …
我有一个简单的Google App Engine项目.当我尝试在localhost上作为Web应用程序运行时,我得到了这个:
objc[49307]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/bin/java and /Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/jre/lib/libinstrument.dylib. One of the two will be used. Which one is undefined.
Usage: <dev-appserver> [options] <app directory>
Run Code Online (Sandbox Code Playgroud)
配置:用于Ecplise 4.4的MAC OSX El Capitan + Eclipse 4.4.2 + Google插件
我认为该问题已由Oracle修复,版本1.7.0_45上存在同样的问题:
所以我无法使用谷歌插件为Eclipse本地测试我的应用程序..出了什么问题?
当我通过右键单击"Debug"在IntelliJ中运行我的sbt项目时,我收到此错误消息.
/home/johnreed/Applications/jdk1.8.0_73/bin/java -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:34395,suspend=y,server=n -Dfile.encoding=UTF-8 -classpath /home/johnreed/Applications/jdk1.8.0_73/jre/lib/charsets.jar:/home/johnreed/Applications/jdk1.8.0_73/jre/lib/deploy.jar:/home/johnreed/Applications/jdk1.8.0_73/jre/lib/ext/cldrdata.jar:/home/johnreed/Applications/jdk1.8.0_73/jre/lib/ext/dnsns.jar:/home/johnreed/Applications/jdk1.8.0_73/jre/lib/ext/jaccess.jar:/home/johnreed/Applications/jdk1.8.0_73/jre/lib/ext/jfxrt.jar:/home/johnreed/Applications/jdk1.8.0_73/jre/lib/ext/localedata.jar:/home/johnreed/Applications/jdk1.8.0_73/jre/lib/ext/nashorn.jar:/home/johnreed/Applications/jdk1.8.0_73/jre/lib/ext/sunec.jar:/home/johnreed/Applications/jdk1.8.0_73/jre/lib/ext/sunjce_provider.jar:/home/johnreed/Applications/jdk1.8.0_73/jre/lib/ext/sunpkcs11.jar:/home/johnreed/Applications/jdk1.8.0_73/jre/lib/ext/zipfs.jar:/home/johnreed/Applications/jdk1.8.0_73/jre/lib/javaws.jar:/home/johnreed/Applications/jdk1.8.0_73/jre/lib/jce.jar:/home/johnreed/Applications/jdk1.8.0_73/jre/lib/jfr.jar:/home/johnreed/Applications/jdk1.8.0_73/jre/lib/jfxswt.jar:/home/johnreed/Applications/jdk1.8.0_73/jre/lib/jsse.jar:/home/johnreed/Applications/jdk1.8.0_73/jre/lib/management-agent.jar:/home/johnreed/Applications/jdk1.8.0_73/jre/lib/plugin.jar:/home/johnreed/Applications/jdk1.8.0_73/jre/lib/resources.jar:/home/johnreed/Applications/jdk1.8.0_73/jre/lib/rt.jar:/home/johnreed/sbtProjects/UnderstandingScala/target/scala-2.11/classes:/home/johnreed/.ivy2/cache/com.chuusai/shapeless_2.11/bundles/shapeless_2.11-2.3.1.jar:/home/johnreed/.ivy2/cache/org.scala-lang/scala-library/jars/scala-library-2.11.8.jar:/home/johnreed/.ivy2/cache/com.google.code.findbugs/jsr305/jars/jsr305-2.0.1.jar:/home/johnreed/.ivy2/cache/com.google.guava/guava/bundles/guava-16.0.1.jar:/home/johnreed/.ivy2/cache/com.twitter/jsr166e/jars/jsr166e-1.0.0.jar:/home/johnreed/.ivy2/cache/com.twitter/util-collection_2.11/jars/util-collection_2.11-6.34.0.jar:/home/johnreed/.ivy2/cache/com.twitter/util-core_2.11/jars/util-core_2.11-6.34.0.jar:/home/johnreed/.ivy2/cache/com.twitter/util-function_2.11/jars/util-function_2.11-6.34.0.jar:/home/johnreed/.ivy2/cache/commons-collections/commons-collections/jars/commons-collections-3.2.2.jar:/home/johnreed/.ivy2/cache/javax.inject/javax.inject/jars/javax.inject-1.jar:/home/johnreed/.ivy2/cache/org.scala-lang.modules/scala-parser-combinators_2.11/bundles/scala-parser-combinators_2.11-1.0.4.jar:/home/johnreed/.ivy2/cache/org.typelevel/macro-compat_2.11/jars/macro-compat_2.11-1.1.1.jar:/home/johnreed/.ivy2/cache/scala.trace/scala-trace-debug_2.11/jars/scala-trace-debug_2.11-2.2.14.jar:/home/johnreed/Applications/idea-IC-145.258.11/lib/idea_rt.jar pkg.Main
Connected to the target VM, address: '127.0.0.1:34395', transport: 'socket'
Disconnected from the target VM, address: '127.0.0.1:34395', transport: 'socket'
Exception in thread "main" java.lang.NoClassDefFoundError: scala/reflect/api/TypeCreator
at pkg.Main.main(Main.scala)
Caused by: java.lang.ClassNotFoundException: scala.reflect.api.TypeCreator
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 1 more
Process finished with exit code 1
Run Code Online (Sandbox Code Playgroud)
我从IntelliJ运行时只收到此错误.当我从SBT运行它时sbt run
,它工作正常.sbt compile
工作文件也是.我如何解决这个问题,以便我的项目作为应用程序运行?
*解决方案*
手动添加scala-reflect-2.11.8.jar
reflection scala intellij-idea classnotfoundexception intellij-scala