无法在新的CCW独立安装中创建Clojure项目或命名空间

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法在新的CCW独立安装中创建Clojure项目或命名空间相关的知识,希望对你有一定的参考价值。

当我第一次打开全新安装的Counterclockwise独立并尝试创建一个Clojure项目时,我收到一个错误对话框,其中包含以下消息:

The selected wizard could not be started.

Reason:
Plug-in ccw.core was unable to load class ccw.leiningen.NewLeiningenProjectWizard

Details:
An error occurred while automatically activating bundle ccw.core (4)

没有关于此错误的进一步信息似乎可用。我把逆时针安装目录(C: counterclockwise-0.35.1.STABLE001)放在类路径中,但这并没有影响任何东西。

如果我尝试打开命名空间浏览器,我会得到类似的东西:

org.eclipse.core.runtime.CoreException: Plug-in ccw.core was unable to load class ccw.repl.NamespaceBrowser.
    at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.throwException(RegistryStrategyOSGI.java:194)
    at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:176)
    at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:905)
    ...etc...

我怀疑这是某种类型的类路径问题,但由于我是Java的新手,我不知道如何解决这个问题。

我已经在网上搜索过,但没有找到任何看起来像这个问题的东西。

这种情况发生在多台机器上:

  • Windows 10 64位
  • 逆时针IDE版本0.35.1.STABLE001 for Windows 64
  • Clojure 1.8
  • java的 java version "1.8.0_111" Java(TM) SE Runtime Environment (build 1.8.0_111-b14) Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode)

任何建议赞赏。

编辑

我最好先安装Eclipse Neon然后安装Counterclockwise作为插件吗?

编辑

TL; DR如果你仔细阅读下面的错误日志摘录,你会发现底部附近

Caused by: java.lang.IllegalArgumentException: No implementation of method: :matcher-fn of protocol: #'net.cgrand.parsley.lrplus/MatcherFactory found for class: paredit.parser$reify__1553

那么运行Clojure版本会出现某种问题吗?我注意到在下面的逆时针依赖项中,我看到了

[org.clojure/clojure-contrib "1.2.0"]

这看起来像是一个非常过时的Clojure版本。我在我的机器上有这个,因为它是另一个编辑器(jEdit)插件的一部分。这可能是问题的根源吗?我有jEdit和它的Clojure插件,其中包括这个已经尝试过的其他机器上的过时版Clojure,但是包含旧版Clojure的目录不在类路径或路径中。 ????

FWIW当我导出Eclipse错误日志视图时,我得到大约12K +输出行。前几百个

!SESSION 2016-12-30 20:49:15.136 -----------------------------------------------
eclipse.buildId=0.35.1.STABLE001
java.version=1.8.0_111
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
Command-line arguments:  -os win32 -ws win32 -arch x86_64

!ENTRY ccw.core 1 0 2016-12-30 20:49:31.022
!MESSAGE CCWPlugin.start(): ENTER

!ENTRY ccw.core 1 0 2016-12-30 20:49:36.144
!MESSAGE Counterclockwise dependencies:
        [bultitude "0.2.1"]
        [ccw/ccw.server "0.2.1"]
        [ccw/clojure-ccw "1.7.0"]
        [cheshire "5.0.2"]
        [classlojure "0.6.6"]
        [clj-http "0.9.2"]
        [clj-stacktrace "0.2.7"]
        [clj-tuple "0.1.2"]
        [clojure-complete "0.2.3"]
        [com.cemerick/drawbridge "0.0.6"]
        [com.cemerick/pomegranate "0.3.0"]
        [com.fasterxml.jackson.core/jackson-core "2.1.3"]
        [com.fasterxml.jackson.dataformat/jackson-dataformat-smile "2.1.2"]
        [com.hypirion/io "0.3.1"]
        [commons-codec "1.9"]
        [commons-fileupload "1.2.1"]
        [commons-io "2.4"]
        [commons-lang "2.6"]
        [commons-logging "1.1.3"]
        [dynapath "0.2.0"]
        [jline "2.12"]
        [leiningen "2.5.1"]
        [leiningen-core "2.5.1"]
        [net.cgrand/parsley "0.9.2"]
        [net.cgrand/regex "1.1.0"]
        [net.cgrand/sjacket "0.1.1"]
        [net.mikera/cljunit "0.2.0"]
        [org.apache.httpcomponents/httpclient "4.3.3"]
        [org.apache.httpcomponents/httpcore "4.3.2"]
        [org.apache.httpcomponents/httpmime "4.3.3"]
        [org.apache.maven/maven-aether-provider "3.0.4"]
        [org.apache.maven/maven-model "3.0.4"]
        [org.apache.maven/maven-model-builder "3.0.4"]
        [org.apache.maven/maven-repository-metadata "3.0.4"]
        [org.apache.maven.indexer/indexer-artifact "4.1.3"]
        [org.apache.maven.indexer/indexer-core "4.1.3"]
        [org.apache.maven.wagon/wagon-http "2.7"]
        [org.apache.maven.wagon/wagon-http-shared "2.7"]
        [org.apache.maven.wagon/wagon-provider-api "2.2"]
        [org.clojure/clojure-contrib "1.2.0"]
        [org.clojure/core.incubator "0.1.0"]
        [org.clojure/data.xml "0.0.3"]
        [org.clojure/java.classpath "0.2.2"]
        [org.clojure/java.data "0.1.1"]
        [org.clojure/tools.cli "0.3.1"]
        [org.clojure/tools.logging "0.2.3"]
        [org.clojure/tools.macro "0.1.1"]
        [org.clojure/tools.nrepl "0.2.10"]
        [org.clojure/tools.reader "0.8.4"]
        [org.codehaus.plexus/plexus-classworlds "2.4"]
        [org.codehaus.plexus/plexus-component-annotations "1.5.5"]
        [org.codehaus.plexus/plexus-interpolation "1.14"]
        [org.codehaus.plexus/plexus-utils "2.0.6"]
        [org.jsoup/jsoup "1.7.2"]
        [org.sonatype.aether/aether-api "1.13.1"]
        [org.sonatype.aether/aether-connector-file "1.13.1"]
        [org.sonatype.aether/aether-connector-wagon "1.13.1"]
        [org.sonatype.aether/aether-impl "1.13.1"]
        [org.sonatype.aether/aether-spi "1.13.1"]
        [org.sonatype.aether/aether-util "1.13.1"]
        [org.sonatype.sisu/sisu-inject-bean "2.2.3"]
        [org.sonatype.sisu/sisu-inject-plexus "2.2.3"]
        [org.tcrawley/dynapath "0.2.3"]
        [pedantic "0.2.0"]
        [potemkin "0.3.4"]
        [prismatic/schema "0.4.4"]
        [quoin "0.1.2"]
        [reply "0.3.5"]
        [riddley "0.1.6"]
        [ring/ring-core "1.0.2"]
        [robert/hooke "1.3.0"]
        [scout "0.1.0"]
        [slingshot "0.10.3"]
        [stencil "0.3.5"]
        [trptcolin/versioneer "0.1.1"]

!ENTRY org.eclipse.osgi 4 0 2016-12-30 20:49:40.712
!MESSAGE An error occurred while automatically activating bundle ccw.core (4).
!STACK 0
org.osgi.framework.BundleException: Exception in ccw.CCWPlugin.start() of bundle ccw.core.
    at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:792)
    at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:721)
    at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:941)
    at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:318)
    at org.eclipse.osgi.container.Module.doStart(Module.java:571)
    at org.eclipse.osgi.container.Module.start(Module.java:439)
    at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:454)
    at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:107)
    at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:531)
    at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:324)
    at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:327)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:402)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:352)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:344)
    at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:160)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:573)
    at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:174)
    at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:905)
    at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
    at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:55)
    at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.processLanguages(ReflectionContributionFactory.java:137)
    at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.<init>(ReflectionContributionFactory.java:45)
    at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createDefaultHeadlessContext(E4Application.java:502)
    at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createDefaultContext(E4Application.java:522)
    at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createE4Workbench(E4Application.java:203)
    at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:628)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:606)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:139)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1515)
Caused by: java.lang.ExceptionInInitializerError
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at clojure.lang.RT.classForName(RT.java:2155)
    at clojure.lang.RT.classForName(RT.java:2164)
    at clojure.lang.RT.loadClassForName(RT.java:2183)
    at clojure.lang.RT.load(RT.java:436)
    at clojure.lang.RT.load(RT.java:412)
    at clojure.core$load$fn__5448.invoke(core.clj:5866)
    at clojure.core$load.doInvoke(core.clj:5865)
    at clojure.lang.RestFn.invoke(RestFn.java:408)
    at clojure.core$load_one.invoke(core.clj:5671)
    at clojure.core$load_lib$fn__5397.invoke(core.clj:5711)
    at clojure.core$load_lib.doInvoke(core.clj:5710)
    at clojure.lang.RestFn.applyTo(RestFn.java:142)
    at clojure.core$apply.invoke(core.clj:632)
    at clojure.core$load_libs.doInvoke(core.clj:5749)
    at clojure.lang.RestFn.applyTo(RestFn.java:137)
    at clojure.core$apply.invoke(core.clj:632)
    at clojure.core$require.doInvoke(core.clj:5832)
    at clojure.lang.RestFn.invoke(RestFn.java:619)
    at ccw.editors.clojure.editor_support$loading__5340__auto____2430.invoke(editor_support.clj:12)
    at ccw.editors.clojure.editor_support__init.load(Unknown Source)
    at ccw.editors.clojure.editor_support__init.<clinit>(Unknown Source)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at clojure.lang.RT.classForName(RT.java:2155)
    at clojure.lang.RT.classForName(RT.java:2164)
    at clojure.lang.RT.loadClassForName(RT.java:2183)
    at clojure.lang.RT.load(RT.java:436)
    at clojure.lang.RT.load(RT.java:412)
    at clojure.core$load$fn__5448.invoke(core.clj:5866)
    at clojure.core$load.doInvoke(core.clj:5865)
    at clojure.lang.RestFn.invoke(RestFn.java:408)
    at clojure.core$load_one.invoke(core.clj:5671)
    at clojure.core$load_lib$fn__5397.invoke(core.clj:5711)
    at clojure.core$load_lib.doInvoke(core.clj:5710)
    at clojure.lang.RestFn.applyTo(RestFn.java:142)
    at clojure.core$apply.invoke(core.clj:632)
    at clojure.core$load_libs.doInvoke(core.clj:5749)
    at clojure.lang.RestFn.applyTo(RestFn.java:137)
    at clojure.core$apply.invoke(core.clj:632)
    at clojure.core$require.doInvoke(core.clj:5832)
    at clojure.lang.RestFn.invoke(RestFn.java:1096)
    at ccw.editors.clojure.hover_support$loading__5340__auto____7902.invoke(hover_support.clj:12)
    at ccw.editors.clojure.hover_support__init.load(Unknown Source)
    at ccw.editors.clojure.hover_support__init.<clinit>(Unknown Source)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at clojure.lang.RT.classForName(RT.java:2155)
    at clojure.lang.RT.classForName(RT.java:2164)
    at clojure.lang.RT.loadClassForName(RT.java:2183)
    at clojure.lang.RT.load(RT.java:436)
    at clojure.lang.RT.load(RT.java:412)
    at clojure.core$load$fn__5448.invoke(core.clj:5866)
    at clojure.core$load.doInvoke(core.clj:5865)
    at clojure.lang.RestFn.invoke(RestFn.java:408)
    at clojure.core$load_one.invoke(core.clj:5671)
    at clojure.core$load_lib$fn__5397.invoke(core.clj:5711)
    at clojure.core$load_lib.doInvoke(core.clj:5710)
    at clojure.lang.RestFn.applyTo(RestFn.java:142)
    at clojure.core$apply.invoke(core.clj:632)
    at clojure.core$load_libs.doInvoke(core.clj:5749)
    at clojure.lang.RestFn.applyTo(RestFn.java:137)
    at clojure.core$apply.invoke(core.clj:632)
    at clojure.core$require.doInvoke(core.clj:5832)
    at clojure.lang.RestFn.invoke(RestFn.java:408)
    at clojure.lang.Var.invoke(Var.java:379)
    at ccw.util.osgi.ClojureOSGi$1.run(ClojureOSGi.java:137)
    at ccw.util.osgi.ClojureOSGi.withBundle(ClojureOSGi.java:107)
    at ccw.util.osgi.ClojureOSGi.withBundle(ClojureOSGi.java:52)
    at ccw.util.osgi.ClojureOSGi.require(ClojureOSGi.java:133)
    at ccw.util.ClojureInvoker.newInvoker(ClojureInvoker.java:46)
    at ccw.util.ClojureInvoker.newInvoker(ClojureInvoker.java:42)
    at ccw.CCWPlugin.initInjections(CCWPlugin.java:727)
    at ccw.CCWPlugin.start(CCWPlugin.java:276)
    at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:771)
    at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:764)
    ... 42 more
Caused by: java.lang.IllegalArgumentException: No implementation of method: :matcher-fn of protocol: #'net.cgrand.parsley.lrplus/MatcherFactory found for class: paredit.parser$reify__1553
    at clojure.core$_cache_protocol_fn.invoke(core_deftype.clj:554)
    at net.cgrand.parsley.lrplus$eval775$fn__776$G__766__783.invoke(lrplus.clj:32)
    at net.cgrand.parsley.lrplus$matcher$fn__846.invoke(lrplus.clj:123)
答案

好的,问题解决了。

解决方案相当简单 - 归结为旧的笑话:

病人:医生,当我这样做时疼!

医生:那不要那样!!!!!!

在这种情况下,“不要这样做!”是“不要使用预先构建的CounterClockwise独立版本”,至少在Windows上。安装Eclipse Neon(我使用了http://www.eclipse.org/downloads/eclipse-packages/的64位版本的“Eclipse IDE For Java Developers”包),进入市场(Help / Eclipse Marketplace ...),在“查找”框中键入“逆时针”,然后按Enter键,安装CounterClockwise插件,重启Eclipse,然后运行。我仍然无法让调试器工作 - 它不会在断点上中断 - 但至少我已经让它工作了一些。

以上是关于无法在新的CCW独立安装中创建Clojure项目或命名空间的主要内容,如果未能解决你的问题,请参考以下文章

如何在新的 NavigationView 中创建一个简单的分隔线?

如何在 Xcode 中创建一个新的 C++ 项目?

[在新计算机上运行项目或删除数据库文件夹时,未在Android Studio中创建SQLite数据库

在新窗口 C++ 中创建线程

新的未修改分支上的树冲突

如何在clojure中创建一个惰性随机数序列