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
javac并不总是在leiningen项目开始时执行_Java_Clojure_Compilation_Interop_Leiningen - Fatal编程技术网

javac并不总是在leiningen项目开始时执行

javac并不总是在leiningen项目开始时执行,java,clojure,compilation,interop,leiningen,Java,Clojure,Compilation,Interop,Leiningen,目前,我有一个项目,直到最近,它的表现还与预期相符。我有一个自定义java类,用于与客户机JMS服务器接口,以满足当前clojure库无法满足的要求。我已将我的项目设置为在启动或构建时编译.java文件,以便包括我所做的任何更改,如果.class文件被意外删除,它也不会崩溃最近,当我使用lein repl启动项目时,它并不总是编译类,如果编译了类,它会将其放在target/classes目录中,而不是用-d指定的目录中我的项目文件如下所示,只是为了匿名而做了一些小改动: (defproject

目前,我有一个项目,直到最近,它的表现还与预期相符。
我有一个自定义java类,用于与客户机JMS服务器接口,以满足当前clojure库无法满足的要求。
我已将我的项目设置为在启动或构建时编译.java文件,以便包括我所做的任何更改,如果.class文件被意外删除,它也不会崩溃
最近,当我使用
lein repl
启动项目时,它并不总是编译类,如果编译了类,它会将其放在target/classes目录中,而不是用
-d
指定的目录中
我的项目文件如下所示,只是为了匿名而做了一些小改动:

(defproject my/project "0.0.2-SNAPSHOT"
  :description REDACTED
  :url "http://comapny-name.com"
  :license {:name "company-name Commercial license"
            :url "http://www.company-name.com"}
  :min-lein-version "2.4.3"
  :java-opts ["-Xmx5g" "-server" "-XX:-OmitStackTraceInFastThrow"]
  :exclusions [org.clojure/clojure]
  :dependencies [[my/lib1 "2.1.9"]
                 [my/lib2 "1.2.16" :exclusions [com.taoensso/encore]]
                 [my/lib3 "1.1.1"]
                 [org.clojure/clojure "1.6.0"]
                 [org.clojure/data.zip "0.1.1"]
                 [org.clojure/tools.nrepl "0.2.10"]
                 [com.codahale.metrics/metrics-graphite "3.0.2"]
                 [com.palletops/leaven "0.3.1"]
                 [com.github.kyleburton/clj-xpath "1.4.5"]
                 [metrics-clojure "2.5.1"]]
  :java-source-paths ["java/src"]
  :javac-options ["-target" "1.7" 
                  "-source" "1.7" "-Xlint:-options" 
                  "-cp" "resources/jars/w3thinclient.jar:resources/jars/clojure-1.6.0.jar:resources/jars/log4j-1.2.17.jar:resources/classes/WebLogicListener.class"
                  "-d" "resources/classes"]
  :profiles {:dev {:source-paths ["dev"]
                   :dependencies [[org.clojure/tools.namespace "0.2.11"]]
                   :plugins [[lein-package "2.1.1"]
                             [lein-marginalia "0.7.1"]]}
             :prod {:source-paths ["prod"]
                    :main prod}}
  :prep-tasks ["javac" "compile"]
  :resource-paths ["target/classes"]
  :plugins [[lein-package "2.1.1"]
            [lein-immutant "2.0.1"]]
  :immutant {:war {:resource-paths ["war-resources"]}
             :nrepl {:port REDACTED
                     :host REDACTED
                     :interface REDACTED
                     :start? true}}
  :hooks [leiningen.package.hooks.deploy leiningen.package.hooks.install]
  :package {:skipjar true
            :autobuild true
            :reuse false
            :artifacts [{:build "with-profile prod immutant war --name=%p%v%t" :extension "war"}]}
  :uberjar-exclusions [#"(?i)^META-INF/[^/]*\.SF$"] ;; Eliminate the signing code from the uberjar
  :repositories ^:replace [["nexus" {:url "http://nexus.company-name.localnet:REDACTED/nexus/content/groups/public"}]])
我的java文件位于java/src中。我正在Java1.7.0̖JavaHotSpot(TM)64位服务器VM上使用Leiningen2.5.1

此project.clj安装程序用于在每次启动时将.class文件编译为资源/类,直到最近才出现问题