我试图迁移到Solr 3.1,我的项目使用Dataimport处理程序,当我启动solr时它问我SolrCoreAwar未找到我将以下文件复制到lib目录apache-solr-dataimporthandler-3.1-SNAPSHOT.jar但是在说明时再次出现错误solr我需要解决这个问题,如果你可以帮助谢谢你
下一条消息是我在启动Solr 3.1时获得的异常
java.lang.NoClassDefFoundError: Could not initialize class org.slf4j.LoggerFactory
at org.apache.solr.handler.dataimport.DataImportHandler.<clinit>(DataImportHandler.java:72)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:373)
at org.apache.solr.core.SolrCore.createInstance(SolrCore.java:423)
at org.apache.solr.core.SolrCore.createRequestHandler(SolrCore.java:459)
at org.apache.solr.core.RequestHandlers.initHandlersFromConfig(RequestHandlers.java:154)
at org.apache.solr.core.SolrCore.<init>(SolrCore.java:563)
at org.apache.solr.core.CoreContainer.create(CoreContainer.java:458)
at org.apache.solr.core.CoreContainer.load(CoreContainer.java:316)
at org.apache.solr.core.CoreContainer.load(CoreContainer.java:207)
at org.apache.solr.core.CoreContainer$Initializer.initialize(CoreContainer.java:130)
at org.apache.solr.servlet.SolrDispatchFilter.init(SolrDispatchFilter.java:94)
at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:713)
at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282)
at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)
at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
at org.mortbay.jetty.Server.doStart(Server.java:224)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.xml.XmlConfiguration.main(XmlConfiguration.java:985)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616) …Run Code Online (Sandbox Code Playgroud) 是否按照规范,给定一个MyClass.java包含
package com.mycorp.foo;
public class MyClass {
public static void main (String[] args) {
System.out.println("Hello, world!");
}
}
Run Code Online (Sandbox Code Playgroud)
在以下路径中(注意文件夹名称中的点):
./com/mycorp.foo/MyClass.java
Run Code Online (Sandbox Code Playgroud)
以下工作正常:
$ javac com/mycorp.foo/MyClass.java
Run Code Online (Sandbox Code Playgroud)
生产./com/mycorp.foo/MyClass.class而这不起作用:
$ java com.mycorp.foo.MyClass
Exception in thread "main" java.lang.NoClassDefFoundError: com/mycorp/foo/MyClass
Caused by: java.lang.ClassNotFoundException: com.mycorp.foo.MyClass
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Run Code Online (Sandbox Code Playgroud) 使用以下命令编译好我的代码:
javac -cp "../lib/*" AvroReader.java
(lib是我放我的jar文件的地方)
在运行时,我得到ClassNotFoundException以下行:
DatumReader<?> dtmrdr = new GenericDatumReader();
它说org.apache.avro.generic.GenericDatumReader即使我已经导入它也找不到它.
为什么会这样?
谢谢!
当使用hsql运行测试时,我得到了这个异常:
NoSuchMethodError: org.hsqldb.DatabaseURL.parseURL(Ljava/lang/String; ZZ)Lorg/hsqldb/persist/HsqlProperties
Run Code Online (Sandbox Code Playgroud)
我在另一个帖子中发现了这个问题,该帖子链接到一个解决方案,该解决方案说它是版本1.8的jar和2.2.5版本的另一个版本之间的冲突.我检查了项目的库.classpath和它只有1.8.我也从类路径中删除了它,但仍然有相同的异常.
仍然无法弄清楚.
我在一个模型上使用 javassist: com.project.model.Model 我已经尝试了如何为 ClassPath 和 CtClass 格式化字符串的各种组合,但无济于事。
ClassPool pool = ClassPool.getDefault();
String setClassPath = "/com/project/model/";
pool.insertClassPath(setClassPath);
CtClass ctClass = pool.get("Model.java");
Run Code Online (Sandbox Code Playgroud)
这些字符串应该如何格式化?我使用的是 WebSphere Application Server 8.5.5.1、JVM 1.7、spring-webmvc 3.2
提前致谢。
我已经看到这个帖子发布了几次,并尝试了一些建议但没有成功(到目前为止)。我在以下路径中有一个 Maven 项目和我的属性文件:
[project]/src/main/reources/META_INF/testing.properties
Run Code Online (Sandbox Code Playgroud)
我正在尝试将它加载到 Singleton 类中以通过键访问属性
public class TestDataProperties {
private static TestDataProperties instance = null;
private Properties properties;
protected TestDataProperties() throws IOException{
properties = new Properties();
properties.load(getClass().getResourceAsStream("testing.properties"));
}
public static TestDataProperties getInstance() {
if(instance == null) {
try {
instance = new TestDataProperties();
} catch (IOException ioe) {
ioe.printStackTrace();
}
}
return instance;
}
public String getValue(String key) {
return properties.getProperty(key);
}
}
Run Code Online (Sandbox Code Playgroud)
但是当它运行时我得到了一个 NullPointerError ......我已经做了我能想到的所有路径,但它不会找到/加载文件。
有任何想法吗?
堆栈跟踪:
Exception in thread "main" java.lang.NullPointerException
at java.util.Properties$LineReader.readLine(Properties.java:434)
at java.util.Properties.load0(Properties.java:353)
at …Run Code Online (Sandbox Code Playgroud) 我想使用spring-boot和plugins开发一个模块化应用程序。插件将使用spring-plugin处理,它们存储在目录中的 jars 文件中(例如:/home/application/plugins)。如何在运行时将 jars 文件添加到应用程序类路径并加载类和 bean(插件) 在这些 jars 文件中。最好的问候, HLicea
我收到上述错误,这里的答案没有帮助.
基本上我似乎无法运行我用Java编译的文件.我试图运行的文件HowMARK_II_FitsInBrainAnatomy.java就在这里
我使用以下命令在末尾:.的-cp参数中编译所有需要的.jars和当前目录:
javac -cp /home/ugrads/majors/quinnliu/workspace/WalnutiQ/build/libs/WalnutiQ.jar:/home/ugrads/majors/quinnliu/workspace/WalnutiQ/referencedLibraries/gson-2.2.4.jar:. HowMARK_II_FitsInToBrainAnatomy.java
所以在我使用上面的命令后,我创建了编译文件HowMARK_II_FitsInToBrainAnatomy.class但是运行该文件的以下命令在这个问题的标题中给出了ERROR:
java -cp /home/ugrads/majors/quinnliu/workspace/WalnutiQ/build/libs/WalnutiQ.jar:/home/ugrads/majors/quinnliu/workspace/WalnutiQ/referencedLibraries/gson-2.2.4.jar:. model.MARK_II.vision.HowMARK_II_FitsInToBrainAnatomy
当我加入:.我的时候,我看不出我做错了什么-cp
一个项目在 Google App Engine 上运行。该项目的依赖项使用了由于安全限制而无法在 App Engine 上调用的类(它不在白名单中)。我的(非常hacky)解决方案是将该类的修改版本复制到我的项目中(匹配原始类的名称和包),不需要受限类。这适用于 dev 和 live,我假设是因为我的源出现在我的外部依赖项之前的类路径中。
为了使它更简洁,我决定将该类的修改版本放入它自己的项目中,该项目可以打包在一个 jar 中并发布给其他任何遇到此问题的人使用。
这是我的 build.gradle:
// my jar that has 'fixed' version of Class.
compile files('path/to/my-hack-0.0.1.jar')
// dependency that includes class that won't run on appengine
compile 'org.elasticsearch:elasticsearch:1.4.4'
Run Code Online (Sandbox Code Playgroud)
在我的本地开发服务器上,这工作正常,代码在运行时首先找到我的类的黑客版本。在直播中,由于某些未知原因,首先加载 elasticsearch 依赖项中的版本。
我知道在类路径中拥有同一个类的两个版本并不理想,但我希望我可以可靠地强制我的版本位于类路径的开头。有任何想法吗?或者,有没有更好的方法来解决这个问题?
java google-app-engine classpath dependency-management gradle
我以前遇到过这个问题,但已经有一段时间了。现在它重新浮出水面:我在 IntelliJ IDEA 中有一个基于 sbt-build 的 Scala 项目,当我启动运行配置时,该程序没有通过getResource或找到资源getResourceAsStream。它以前确实有效,所以我的代码中的路径肯定是正确的。例如,这里是项目浏览器的视图:
您可以看到该resources目录已正确标记,因此应该找到“/at/iem/sysson/color-tables.bin”。这是阅读器代码:
package at.iem.sysson
object Main {
lazy val colorTables: Map[String, ColorPaletteTable] = {
val is = Main.getClass.getResourceAsStream("color-tables.bin")
...
}
}
Run Code Online (Sandbox Code Playgroud)
这曾经在 IntelliJ 中工作,它在运行sbt或创建独立应用程序时仍然有效。但是现在我从 IntelliJ 运行配置它坏了 -getResourceAsStream返回null。
我已经删除了该.idea项目并从头开始重新创建它。我也退出并重新启动了 IntelliJ。资源肯定标明:
怎么了?它看起来与此有关,但删除并重新创建运行配置无济于事。我做得到/usr/bin/java -Didea.launcher.port=7537 ...,但resources目录仅仅是从失踪-classpath。
classpath ×10
java ×7
exception ×1
gradle ×1
hsqldb ×1
jar ×1
javassist ×1
maven ×1
plugins ×1
properties ×1
scala ×1
solr ×1
solrcloud ×1
spring-boot ×1
spring-mvc ×1