【发布时间】:2014-06-05 18:35:15
【问题描述】:
尝试使用 lein 在 clojure 项目中导入 java 类,然后使用 main 方法连接到 TeamworkPM 的 API。 :)
project.clj
(defproject teamwork "0.1.0-SNAPSHOT"
:description "FIXME: write description"
: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"]
[clj-http "0.9.2"]]
:resource-paths ["src/java/*"]
:java-source-paths ["src/java/"]
:javac-options ["-target" "1.6"
"-source" "1.6"
"-Xlint:-options"])
TeamworkAPI.java 位于src/java/。
public class TeamworkAPI {
public static void main(String[] args) {
HttpURLConnection connection = null;
String APIKey = "YOUR_API_KEY_HERE";
String TeamworkURL = "http://YOUR_TEAMWORKSITE_HERE.teamworkpm.net";
try {
URL url = new URL( TeamworkURL + "/projects.json" );
connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
String userpassword = APIKey + ":" + "";
String encodedAuthorization = Base64Coder.encodeString( userpassword );
connection.setRequestProperty("Authorization", "Basic " + encodedAuthorization);
然后我在正确的项目上启动 cider-jack-in....
teamwork.core> (TeamworkAPI. new)
CompilerException java.lang.RuntimeException: Unable to resolve symbol: new in
this context, compiling:(/tmp/form-init133047100967026670.clj:1:1)
尝试通过我与外国 API 的一些第一次连接来弄脏我的手 :)
【问题讨论】:
标签: java clojure leiningen read-eval-print-loop