我有一个Clojure Web服务器项目,我使用lein ring uberwar
任务进行部署。
它一直运行良好,直到现在我尝试在资源目录中添加模板xml文件。
每当我运行Compiling 28 source files to /Users/val/BandSquare/dev/digitick-booking-worker/target/classes
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
java.util.zip.ZipException: duplicate entry: WEB- INF/classes/saveCart2_addedsomesuffixthatcannotbeanywhereelse.xml
at java.util.zip.ZipOutputStream.putNextEntry (ZipOutputStream.java:233)
java.util.jar.JarOutputStream.putNextEntry (JarOutputStream.java:109)
sun.reflect.GeneratedMethodAccessor70.invoke (:-1)
sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke (Method.java:483)
clojure.lang.Reflector.invokeMatchingMethod (Reflector.java:93)
clojure.lang.Reflector.invokeInstanceMethod (Reflector.java:28)
leiningen.ring.war$write_entry.invoke (war.clj:185)
leiningen.ring.war$file_entry.invoke (war.clj:201)
leiningen.ring.war$dir_entry.invoke (war.clj:206)
leiningen.ring.uberwar$write_uberwar.invoke (uberwar.clj:48)
leiningen.ring.uberwar$uberwar.invoke (uberwar.clj:74)
leiningen.ring.uberwar$uberwar.invoke (uberwar.clj:62)
...
时,我都会得到以下输出:
resources
我尝试按照this thread中的建议以我能想象的方式清理项目。
我确信我没有重复的源文件,因为我在project.clj
目录下命名文件并不重要,也不放在我放置它的位置。
以下是项目布局:
这是我的(defproject digitick-booking-worker "1.7.1"
:description "An RPC server to act as an adapter interface to the digitickBooking Web Service."
:min-lein-version "2.0.0"
:dependencies [[org.clojure/clojure "1.6.0"]
[compojure "1.3.1"]
[ring/ring-defaults "0.1.2"]
[http-kit "2.1.18"]
[org.jsoup/jsoup "1.8.2"] ; HTML DOM Manipulation
[selmer "0.8.2"]
[org.clojure/data.zip "0.1.1"]
[log4j "1.2.17" :exclusions [javax.mail/mail
javax.jms/jms
com.sun.jdmk/jmxtools
com.sun.jmx/jmxri]]
[com.taoensso/timbre "3.1.6"]
[com.novemberain/langohr "3.0.1"]
[org.clojure/core.async "0.1.346.0-17112a-alpha"] ; asynchrony
[cheshire "5.3.1"] ;; JSON encoding library for Clojure.
[bs/axis-ant "1.0"]
[bs/axis "1.0"]
[bs/commons-discovery "1.0"]
[bs/commons-logging "1.0"]
[bs/jaxrpc "1.0"]
[bs/log4j "1.0"]
[bs/saaj "1.0"]
[bs/wsdl4j "1.0"]
]
:plugins [[lein-ring "0.8.13"]]
:ring {:handler digitick-booking-worker.handler/app
:init digitick-booking-worker.handler/init}
:profiles
{:dev {:dependencies [[javax.servlet/servlet-api "2.5"]
[ring-mock "0.1.5"]]}}
:repositories [["localrepo" "file:axisrepo"]]
:java-source-paths ["digitick"]
)
:
pom.xml
非常感谢任何帮助!
当我删除lein pom
(使用lein ring uberwar
生成)时,问题就消失了。
我的猜测是project.clj
任务通过考虑pom.xml
和#cgo pkgconfig: foobar
来以某种方式为自己分配重复的工作。 (这应该报告为错误吗?)
尚未将问题标记为已解决,因为我没有明确的解释。