Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
加载到AXIS2时在Clojure get java.lang.ExceptionInInitializeError中生成的类_Clojure_Wso2_Axis2 - Fatal编程技术网

加载到AXIS2时在Clojure get java.lang.ExceptionInInitializeError中生成的类

加载到AXIS2时在Clojure get java.lang.ExceptionInInitializeError中生成的类,clojure,wso2,axis2,Clojure,Wso2,Axis2,使用如下代码生成类问候语 project.clj (defproject greeting "0.1.0-SNAPSHOT" :description "FIXME: write description" :url "http://example.com/FIXME" :license {:name "Eclipse Public License" :url "http://www.eclipse.org/legal/epl-v10.html"}

使用如下代码生成类问候语

project.clj

   (defproject greeting "0.1.0-SNAPSHOT"
     :description "FIXME: write description"
     :url "http://example.com/FIXME"
     :license {:name "Eclipse Public License"
     :url "http://www.eclipse.org/legal/epl-v10.html"}
     :dependencies [[org.clojure/clojure "1.7.0"]]
     :aot [greeting.core]
    )
src/greeting/core.clj

(ns greeting.core
  (:gen-class
   :name Greeting
   :init create
   :constructors {[String] []}
   :methods [(greet [String] String)] 
   :state data))

(defn -create
  "Construct instance with a String."
 [s]
 [[] ;; super class args
  s])

(defn -greet
 "Return greeting based on the constructed data."
  [this n]
  (str (.data this) " " n "!"))
这些代码来自。可以从java类调用

现在通过

  lein uberjar
并将独立jar作为服务器导入WSO2,得到以下错误

错误:clojure.lang.Namespace处的java.lang.ExceptionInInitializerError。(Namespace.java:34)在clojure.lang.Namespace.findOrCreate(Namespace.java:176)在clojure.lang.Var.internPrivate(Var.java:151)在问候语中。(未知来源)在 java.lang.Class.forName0(本机方法)位于 java.lang.Class.forName(Class.java:278)位于 org.apache.axis2.description.java2wsdl.DefaultSchemaGenerator.(DefaultSchemaGenerator.java:140)位于 org.apache.axis2.deployment.util.Utils.fillAxisService(Utils.java:453)位于 org.apache.axis2.deployment.ServiceBuilder.populateService(ServiceBuilder.java:397)位于 org.apache.axis2.deployment.ServiceGroupBuilder.populateServiceGroup(ServiceGroupBuilder.java:101)位于 org.apache.axis2.deployment.repository.util.ArchiveReader.buildServiceGroup(ArchiveReader.java:109)位于 org.apache.axis2.deployment.repository.util.ArchiveReader.processServiceGroup(ArchiveReader.java:143)位于 org.apache.axis2.deployment.ServiceDeployer.deploy(ServiceDeployer.java:82)位于 org.apache.axis2.deployment.repository.util.DeploymentFileData.deploy(DeploymentFileData.java:136)位于 org.apache.axis2.deployment.DeploymentEngine.doDeploy(DeploymentEngine.java:807)位于 org.apache.axis2.deployment.repository.util.WSInfoList.update(WSInfoList.java:144)位于 org.apache.axis2.deployment.RepositoryListener.update(RepositoryListener.java:377)位于 org.apache.axis2.deployment.RepositoryListener.checkServices(RepositoryListener.java:254)位于 org.apache.axis2.deployment.RepositoryListener.startListener(RepositoryListener.java:371)位于 org.apache.axis2.deployment.SchedulerTask.checkRepository(SchedulerTask.java:59)位于 org.apache.axis2.deployment.SchedulerTask.run(SchedulerTask.java:67)位于 org.wso2.carbon.core.deployment.CarbonDeploymentSchedulerTask.runAxisDeployment(CarbonDeploymentSchedulerTask.java:79)位于 org.wso2.carbon.core.deployment.CarbonDeploymentSchedulerTask.run(CarbonDeploymentSchedulerTask.java:124)位于 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)位于 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)位于 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)位于 位于的java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) java.lang.Thread.run(Thread.java:745)处的java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)由以下原因引起: java.io.FileNotFoundException:在类路径上找不到clojure/core\uuu init.class或clojure/core.clj。在clojure.lang.RT.load(RT.java:449)处 clojure.lang.RT.load(RT.java:412)在clojure.lang.RT.doInit(RT.java:454)在 clojure.lang.RT.(RT.java:330)。。。30多


我错过了什么吗?或者如何摆脱它?

对于Axis2,每个服务使用单独的类加载器,Clojure类加载器默认使用上下文类加载器,因此当加载jar文件时,AOT类中的Clojue对象将由Clojure类加载器加载,Clojure类加载器是上下文类加载器,没有关于jar路径的信息,因此找不到core__init.class

要解决此问题,请使用axis2的costum deployer重载depoly方法, 并将上下文类加载器设置为与服务类加载器相同

给我很多帮助。
有些人可以给你一个提示。谢谢大家

对于Axis2,每个服务使用单独的类加载器,Clojure类加载器默认使用上下文类加载器,因此当加载jar文件时,AOT类中的Clojue对象将由Clojure类加载器加载,而Clojure类加载器,上下文类加载器,没有关于jar路径的信息,因此找不到core__init.class

要解决此问题,请使用axis2的costum deployer重载depoly方法, 并将上下文类加载器设置为与服务类加载器相同

给我很多帮助。
有些人可以给你一个提示。谢谢大家

我发现上面写着“在类路径上找不到clojure/core_uuinit.class或clojure/core.clj”,但这两个文件都在独立jar文件中。您是如何将jar导入wso2as的?在wso2as管理控制台中,主->服务->添加->jar服务,然后按照说明,选择要上载的独立jar文件,下一步,选择问候类,然后下一步,只选择问候方法,然后完成。我发现上面写着“在类路径上找不到clojure/core\uu init.class或clojure/core.clj”,但这两个文件都在独立的jar文件中。您是如何将jar导入wso2as的?在wso2as管理控制台中,Main->Service->Add->jar Service,然后按照说明,选择要上传的独立jar文件,接下来,选择问候语类,然后接下来,只选择问候语方法,然后完成。