- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个独特的构建情况。我正在使用lein uberwar
从我的环应用程序中构建一个 war 并部署到 beanstalk。这一切都很好。现在,我们需要将代码推送到 svn 存储库,在那里他们将管理构建,而 svn 存储库对 clojure 一无所知(仅 java)。这是一个巨大的官僚组织,他们的构建过程已经到位,所以让他们安装 lein
在他们的服务器上目前是不可能的。我知道 lein 在底层使用了 Maven,所以我知道这在理论上是可行的,但我仍然对这个过程的几个步骤存有疑问。
我在 lein-ring 经历了 war build 过程我看到的主要问题是 servlet 和监听器类与 web.xml 一起生成。我觉得我可以提供执行此任务的 java 文件,但不清楚这些 java 文件将包含什么以及它们最终将位于项目结构中的位置。看看终极 war 中生成的 servlet.clj 和listener.clj 文件,它们看起来非常简单,可能已经存在这样的示例?
我看到的另一个大障碍是 war 进程调用 clojure.core/compile
在项目命名空间上,它从 clojure 源生成所有类文件。有什么方法可以在 Maven 构建过程中触发此编译吗?我几乎想象一个java类将编译分配给clojure.core/compile,但我不确定从java调用clojure的来龙去脉,而不是反之亦然(通常的流程方向),或者如何插入这一步进入基本的 Maven 构建过程。
任何关于从哪里开始的见解都将受到欢迎!谢谢大家。
最佳答案
查看 Zi maven plugin 。您将其指定为子项目的 pom.xml
中的插件,然后它会填充与 javac 插件在项目的其余部分中执行的操作相同的卷。您的项目之外的任何人都不需要知道 Clojure 的存在。
<build>
<plugins>
<plugin>
<groupId>org.cloudhoist.plugin</groupId>
<artifactId>zi</artifactId>
<version>0.5.5</version>
<executions>
<execution>
<id>default-compile</id>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
<configuration>
<excludes>
<exclude>**/test.clj</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
关于deployment - Clojure/环 : How can I integrate my clojure app with a java build process that is out of my control?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12483083/
我是一名优秀的程序员,十分优秀!