- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我们正在尝试使用 Leiningen 构建我们的 Clojure 项目。我们通过执行以下操作成功创建了一个 uberjar:
前提条件:
:main my-project.core
in project.clj-main
函数的 core.clj 文件(:gen-class :main true)
in core.clj程序:
lein 测试
;顺利完成lein deps
;成功完成lein uberjar
java -jar BioClojure-1.0.0-SNAPSHOT-standalone.jar
,导致出现此异常:Exception in thread "main" java.lang.SecurityException: Invalid signature file digest for Manifest main attributes
我对这个问题的研究没有取得成果。 Apparently ,这是一个没有好的解决方案的已知问题。我不明白那里的答案。
我们需要做什么才能让我们的 uberjar 正常工作?
zip *-standalone.jar -d META-INF/DUMMY.SF
(我不知道这是做什么的):uberjar-exclusions
做些什么? (如果有,是什么?)Lein 和 java 版本:
$ lein version
Leiningen 1.6.1 on Java 1.6.0_26 Java HotSpot(TM) 64-Bit Server VM
更新:运行建议的命令给出:
$ unzip -l BioClojure-1.0.0-SNAPSHOT-standalone.jar | grep -i -e "\.sf"
49911 08-27-09 15:57 META-INF/RCSB-PDB.SF
0 03-23-10 08:21 META-INF/maven/net.sf.alxa/
0 03-23-10 08:21 META-INF/maven/net.sf.alxa/jlatexmath/
929 03-23-10 08:20 META-INF/maven/net.sf.alxa/jlatexmath/pom.xml
115 03-21-10 14:01 META-INF/maven/net.sf.alxa/jlatexmath/pom.properties
175241 08-17-11 20:25 META-INF/SELFSIGN.SF
0 09-21-09 06:45 META-INF/maven/net.sf.opencsv/
0 09-21-09 06:45 META-INF/maven/net.sf.opencsv/opencsv/
5510 09-21-09 06:44 META-INF/maven/net.sf.opencsv/opencsv/pom.xml
106 09-21-09 06:45 META-INF/maven/net.sf.opencsv/opencsv/pom.properties
最佳答案
通过阅读该问题中的评论,我的理解是,如果您将以下内容添加到 project.clj
:uberjar-exclusions [#"foo.sf"]
其中 foo.sf
是您要从 jar 中忽略的特定 .sf 文件。您可以通过运行来确定这一点:
unzip -l BioClojure-1.0.0-SNAPSHOT-standalone.jar | grep -i -e "\.sf"
建议的 zip
命令从 jar(ZIP 格式)中删除特定文件。
关于build - Leiningen 在构建工作 uberjar 时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7892244/
我有一个生成 jar 文件的 Maven 模块。我被要求开发其他几个 uberjar 文件 作为构建过程的副产品。我还被告知这 2 个 jar 文件是 applet jar 文件 将需要包含来自 ma
lein run,lein trampoline run和将clojure应用程序部署为uberjar有什么区别?性能上有区别吗? 如果我执行lein run/lein trampoline run,
我使用 maven-shade-plugin 进行构建,执行了 mvn-clean-package 并能够从目标目录中执行代码,如下所示:java -cp uber-weather-lookup-1.
我用 Clojure 构建了一个非常简单的网络应用程序(事实上,我遵循了一个教程)。 project.clj 文件如下所示: (defproject webdev "0.1.0-SNAPSHOT"
我使用 lein uberjar 创建应用程序的独立 jar。 执行时 java -jar dataloader-0.1.0-SNAPSHOT-standalone.jar, 它崩溃了: Caused
我正在使用“lein uberjar”为我的项目制作一个可执行的 jar 文件。 jar 已正确创建并按预期运行。 我只想知道是否可以不将我的源 .clj 文件包含在生成的 .jar 中,因为我打算分
我正在尝试使用 clojure Web 框架 noir 分发一个小型 Web 应用程序构建。当使用 lein run 运行时,它会按预期工作。当我运行 lein uberjar ,然后运行 jav
如何生成监听给定端口的独立环 uberjar ? 开发时,我使用以下 leiningen/ring 命令启动我的应用程序,我可以在其中指定端口: lein with-profile dev ring
我在 profile.clj 中定义了 :resource-paths 以包含一些特殊的 jar (vertica jdbc) 文件。然后我运行 lein uberjar: 尝试将该 jar 文件打包
我正在与 leiningen 和 Clojure 合作创建一个 uberjar,因此我有一个用于部署的文件。我还使用 leiningen 的默认资源路径嵌入了一些静态文件,其名称和数量因构建而异。有没
我已经研究这个有一段时间了,但我不得不问:现在不是可以通过 Eclipse 来完成吗?我找到了有关 Maven 和 Ant 的答案,但我从未使用过。如果我的输出 .jar 文件是一个可运行的 jar,
我正在尝试使用 Reflections 0.9.8 库,它以 uber-jar 的形式提供。如果我在项目的构建路径中添加它的 JAR(“reflections-0.9.8-uberjar”),那么 E
当以下 Clojure 示例程序被打包到一个独立的 uberjar 中(通过 boot-clj)时,java -jar app.jar 的执行行为不同于调用 -main 开发 repl 中的函数。 (
使用leiningen构建Clojure应用程序时,如何在使用lein uberjar时排除某些依赖被包含在JAR文件中? 最佳答案 使用 provided leiningen 个人资料的条目。 :
使用 leiningen 创建 uberjar 并使用 java -jar foo-uberjar.jar 运行该 jar 后程序运行良好,最后一行代码执行得相当快,但程序在关闭前挂了大约一分钟。这是
我有一个 Clojure“主”应用程序,它依赖于几个 Clojure 库,其中两个是我的。编译阶段,无论是编译还是运行uberjar都需要很长时间。至少需要一分钟或更长时间。我的图书馆和主要图书馆都不
从 uberjar 运行时,Ring 的文件响应对我不起作用。我都试过了 (response/file-response "index.html" {:root "resources/public"}
我想用不同的 main 创建许多 uberjars来自单个代码库的入口点。我看你可以指定main命名空间作为 lein uberjar 的参数但我没有看到指定结果文件名或路径的方法,因此它们只会相互覆
如何重命名和移动使用 SBT 程序集插件生成的 uberjar? addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.6") 我的 assembl
我想做一些实时图形渲染,并尝试对每帧每个像素进行多次计算。然后我很快注意到这非常慢并且从最基础开始:我能以多快的速度循环所有像素? 我发现 dotime 相当快,但是当我在 REPL 中执行此操作时,
我是一名优秀的程序员,十分优秀!