2014-06-05 3 views
0

Попытка импортировать классы Java в проекте clojure с использованием lein, а затем использовать основной метод для подключения к API TeamworkPM. :)Невозможно импортировать класс java в lein repl

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); 

Тогда я вспылить сидр-чертик на правильный проект ....

teamwork.core> (TeamworkAPI. new) 

CompilerException java.lang.RuntimeException: Unable to resolve symbol: new in 
    this context, compiling:(/tmp/form-init133047100967026670.clj:1:1) 

Попытка получить мои руки грязные с некоторыми из моей первой связи с иностранными APIs :)

ответ

0

Синтаксис получения объекта через interop: (TeamworkAPI.), или старше (new TeamworkAPI).

Если вы пытаетесь вызвать этот класс статический основной метод: (TeamworkAPI/main (into-array args))

+0

Маркировки, как ответил, потому что вы качаться и ответил на вопрос в заголовке поста. –

+0

Выполнение «(TeamworkAPI/main (in-aray args))« Я поднимаю »CompilerException java.lang.RuntimeException: Нет такого пространства имен: TeamWorkAPI, компиляция: (/ tmp/form-init133047100967026670.clj: 1: 1)« –

+0

Doh, «w» в «TeamworkAPI» был капитализирован. Когда я исправил этот случай, эта ошибка была поднята: «ClassNotFoundException TeamworkAPI. Java.net.URLClassLoader $ 1.run (URLClassLoader.java:366)« –

Смежные вопросы