Clojure 如何修复leiningen:aot警告
我越来越Clojure 如何修复leiningen:aot警告,clojure,leiningen,Clojure,Leiningen,我越来越 Warning: specified :main without including it in :aot. If you only need AOT for your uberjar, consider adding :aot :all into your :uberjar profile instead. 这是我的项目 (defproject korma-test "0.1.0-SNAPSHOT" :description "korma db test" :url "ht
Warning: specified :main without including it in :aot.
If you only need AOT for your uberjar, consider adding :aot :all into your
:uberjar profile instead.
这是我的项目
(defproject korma-test "0.1.0-SNAPSHOT"
:description "korma db test"
:url "http://example.com/FIXME"
:license {:name "Eclipse Public License"
:url "http://www.eclipse.org/legal/epl-v10.html"}
:dependencies [[org.clojure/clojure "1.5.1"]
[korma "0.3.0-RC5"]
]
:main korma-test.core)
这里是core.clj
(ns korma-test.core
(require [korma.db :as kdb])
(require [clojure.string :as str])
(:use [clojure.tools.cli])
(:import java.util.Date)
(:gen-class)
)
; Parses for options passed in on the command line.
(defn parse-opts
"Using the newer cli library, parses command line args."
[args]
(cli args
(optional ["-host" "Informix host" :default "localhost"] )
(optional ["-port" "Informix host's service port" :default "1498"] )
(required ["-username" "user name"] )
(required ["-password" "password"] )
(optional ["-database" "Informix host's database" :default "stores7/ministores.dbs" ] )))
(defn -main
[& args]
(if (= 0 (count args))
(println "Usage: korma-test --host <host-name> --port <port-num> --database <db-name>")
(let [opts (parse-opts args)
start-time (str (Date.))]
(def db-config {:classname "com.informix.jdbc.IfxDriver"
:subprotocol "postgresql"
:subname (format "//%s:(:port opts)/%s"
(:host opts)
(:database opts))
:user (:user opts)
:password (:password opts)})
(kdb/defdb db db-config)
(println opts))))
(ns korma-test.core
(需要[korma.db:as kdb])
(需要[clojure.string:as str])
(:使用[clojure.tools.cli])
(:import java.util.Date)
(:gen类)
)
; 解析在命令行上传入的选项。
(定义解析选项)
使用较新的cli库,解析命令行参数
[args]
(cli参数
(可选[“-host”“Informix host”:默认值为“localhost”])
(可选[“-port”“Informix主机的服务端口”:默认值“1498”])
(必需[“-username”“user name]”)
(必需[“-password”“password”])
(可选[“-database”“Informix主机数据库”:默认为“stores7/ministores.dbs”))
(defn-main)
[&args]
(如果(=0(计数参数))
(println“用法:korma测试--主机--端口--数据库”)
(let[opts(parse opts args)
开始时间(str(Date.))]
(def db config{:classname“com.informix.jdbc.IfxDriver”
:子目录“postgresql”
:子名称(格式”//%s:(:端口选项)/%s”
(:主机选项)
(:数据库选项)
:user(:user opts)
:password(:password opts)})
(kdb/defdb配置)
(打印选项)
我不知道在哪里放置:aot来满足警告。我以前可以发誓它在没有警告的情况下工作,但无论如何,您现在需要在您的项目中添加:aot指令。clj 看 以下作品 project.clj
(defproject korma-test "0.1.0-SNAPSHOT"
:description "korma db test"
:url "http://example.com/FIXME"
:license {:name "Eclipse Public License"
:url "http://www.eclipse.org/legal/epl-v10.html"}
:dependencies [[org.clojure/clojure "1.5.1"]
[korma "0.3.0-RC5"]
[org.clojure/tools.cli "0.3.1"]]
:main korma-test.core
:aot [korma-test.core])
(ns korma-test.core
(:require [korma.db :as kdb])
(:require [clojure.string :as str])
(:require [clojure.tools.cli :as c])
(:import java.util.Date)
(:gen-class))
; Parses for options passed in on the command line.
(defn parse-opts
"Using the newer cli library, parses command line args."
[args]
(c/cli args
[ ["-host" "Informix host" :default "localhost"]
["-port" "Informix host's service port" :default "1498"]
["-username" "user name"]
["-password" "password"]
["-database" "Informix host's database" :default "stores7/ministores.dbs" ]]))
(defn -main
[& args]
(if (= 0 (count args))
(println "Usage: korma-test --host <host-name> --port <port-num> --database <db-name>")
(let [opts (parse-opts args)
start-time (str (Date.))
db-config {:classname "com.informix.jdbc.IfxDriver"
:subprotocol "postgresql"
:subname (format "//%s:(:port opts)/%s"
(:host opts)
(:database opts))
:user (:user opts)
:password (:password opts)}]
(kdb/defdb db db-config)
(println opts))))
core.clj
(defproject korma-test "0.1.0-SNAPSHOT"
:description "korma db test"
:url "http://example.com/FIXME"
:license {:name "Eclipse Public License"
:url "http://www.eclipse.org/legal/epl-v10.html"}
:dependencies [[org.clojure/clojure "1.5.1"]
[korma "0.3.0-RC5"]
[org.clojure/tools.cli "0.3.1"]]
:main korma-test.core
:aot [korma-test.core])
(ns korma-test.core
(:require [korma.db :as kdb])
(:require [clojure.string :as str])
(:require [clojure.tools.cli :as c])
(:import java.util.Date)
(:gen-class))
; Parses for options passed in on the command line.
(defn parse-opts
"Using the newer cli library, parses command line args."
[args]
(c/cli args
[ ["-host" "Informix host" :default "localhost"]
["-port" "Informix host's service port" :default "1498"]
["-username" "user name"]
["-password" "password"]
["-database" "Informix host's database" :default "stores7/ministores.dbs" ]]))
(defn -main
[& args]
(if (= 0 (count args))
(println "Usage: korma-test --host <host-name> --port <port-num> --database <db-name>")
(let [opts (parse-opts args)
start-time (str (Date.))
db-config {:classname "com.informix.jdbc.IfxDriver"
:subprotocol "postgresql"
:subname (format "//%s:(:port opts)/%s"
(:host opts)
(:database opts))
:user (:user opts)
:password (:password opts)}]
(kdb/defdb db db-config)
(println opts))))
(ns korma-test.core
(:require[korma.db:as kdb])
(:require[clojure.string:as str])
(:需要[clojure.tools.cli:as c])
(:import java.util.Date)
(:gen类)
; 解析在命令行上传入的选项。
(定义解析选项)
使用较新的cli库,解析命令行参数
[args]
(c/cli参数)
[“-host”“Informix-host”:默认的“localhost”]
[“-port”“Informix主机的服务端口”:默认值“1498”]
[“-用户名”“用户名”]
[“-密码”“密码”]
[“-database”“Informix主机数据库”:默认为“stores7/ministores.dbs”]])
(defn-main)
[&args]
(如果(=0(计数参数))
(println“用法:korma测试--主机--端口--数据库”)
(let[opts(parse opts args)
开始时间(str(Date.))
db配置{:classname“com.informix.jdbc.IfxDriver”
:子目录“postgresql”
:子名称(格式”//%s:(:端口选项)/%s”
(:主机选项)
(:数据库选项)
:user(:user opts)
:password(:password opts)}]
(kdb/defdb配置)
(打印选项)
您运行的是哪个版本的leiningen?何时收到警告?@KobbyPemson没有发布所有core.clj,这是我的错。我得到以下错误警告:specified:main,但未将其包含在:aot中。main的隐式AOT将在Leiningen 3.0.0中删除。如果您只需要为您的uBeJAR AOT,考虑添加:AOT:所有到您:uBeJAR配置文件代替。即使有一个主要功能。