我有一个Leaflet.js地图,带有基础图块图层,标签图块图层和一些叠加图.我需要将标签图块层放在覆盖层上面.我尝试将它带到前面使用bringToFront()
- 无济于事.这是代码:
map.addLayer( new L.StamenTileLayer("toner-lines") );
...// more code, loading the overlays, etc
var labels = L.tileLayer('http://{s}.www.toolserver.org/tiles/osm-labels-en/{z}/{x}/{y}.png', {
maxZoom: 17,
zIndex: 1000
});
labels.addTo(map);
labels.bringToFront();
Run Code Online (Sandbox Code Playgroud) 在 Java EE 应用程序中,我尝试使用 Java 的ServiceLoader加载服务。我尝试加载的 .jar 文件在测试 Java SE 应用程序中有效,因此我认为它是正确的。但是,以下代码在以下位置失败itr.next
:
ServiceLoader<WorkflowStepSPI> loader = ServiceLoader.load(WorkflowStepSPI.class, Thread.currentThread().getContextClassLoader());
loader.reload();
List<String> names = new LinkedList<>();
Iterator<WorkflowStepSPI> itr = loader.iterator();
while ( itr.hasNext() ) {
WorkflowStepSPI wss = itr.next();
logger.log(Level.INFO, "Found WorkflowStepProvider: {0}", wss.getClass().getCanonicalName());
names.add(wss.toString());
}
Run Code Online (Sandbox Code Playgroud)
ClassNotFoundException 中抛出的异常,抱怨无法找到WorkflowStepSPI
,这显然是存在的(否则代码将无法编译)。在另一个测试中,我验证了Class.forName
返回此类。
我尝试按照此处的建议创建自己的 URLClassLoader 实例,并按照此处的建议直接加载类,但无济于事。
有任何想法吗?
*** 更新 ***
根据要求,这是堆栈跟踪:
Warning: Class not found: edu/harvard/iq/dataverse/workflow/WorkflowStepSPI
java.lang.NoClassDefFoundError: edu/harvard/iq/dataverse/workflow/WorkflowStepSPI
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at …
Run Code Online (Sandbox Code Playgroud) 奇怪的问题:当我的播放应用程序尝试在使用reactivemongo时插入/更新来自某些mongoDB集合的记录时,操作似乎失败了一个神秘的消息,但实际上,记录插入/更新了.
更多信息:
错误信息是:
play.api.http.HttpErrorHandlerExceptions$$anon$1: Execution exception[[LastError: DatabaseException['<none>']]]
at play.api.http.HttpErrorHandlerExceptions$.throwableToUsefulException(HttpErrorHandler.scala:280)
at play.api.http.DefaultHttpErrorHandler.onServerError(HttpErrorHandler.scala:206)
at play.core.server.netty.PlayRequestHandler$$anonfun$2$$anonfun$apply$1.applyOrElse(PlayRequestHandler.scala:100)
at play.core.server.netty.PlayRequestHandler$$anonfun$2$$anonfun$apply$1.applyOrElse(PlayRequestHandler.scala:99)
at scala.concurrent.Future$$anonfun$recoverWith$1.apply(Future.scala:344)
at scala.concurrent.Future$$anonfun$recoverWith$1.apply(Future.scala:343)
at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32)
at play.api.libs.iteratee.Execution$trampoline$.execute(Execution.scala:70)
at scala.concurrent.impl.CallbackRunnable.executeWithValue(Promise.scala:40)
at scala.concurrent.impl.Promise$DefaultPromise.tryComplete(Promise.scala:248)
Caused by: reactivemongo.api.commands.LastError: DatabaseException['<none>']
Run Code Online (Sandbox Code Playgroud)
使用ReactiveMongo 0.11.14,Play 2.5.4,Scala 2.11.7,MongoDB 3.4.0.
谢谢!
更新 - 神秘感增厚!
根据@ Yaroslav_Derman的回答,我添加了一个.recover
条款,如下:
collectionRef.flatMap( c =>
c.update( BSONDocument("_id" -> publicationWithId.id.get), publicationWithId.asInstanceOf[PublicationItem], upsert=true))
.map(wr => {
Logger.warn("Write Result: " + wr )
Logger.warn("wr.inError: " + wr.inError)
Logger.warn("*************")
publicationWithId
}).recover({
case de:DatabaseException => {
Logger.warn("DatabaseException: " + …
Run Code Online (Sandbox Code Playgroud)