title: How do I reference functions in other files with leiningen?
body: <p>I'm still fairly new to Clojure so I apologize if this is a completely newbie question but I wasn't able to find a sufficient answer online.</p>
  
  <p>Basically, my problem is that any time I try to run my project, I get an error like:</p>
  
  <pre><code>Exception in thread "main" java.lang.RuntimeException: java.io.FileNotFoundException: Could not locate greeter__init.class or greeter.clj on classpath: 
  </code></pre>
  
  <p>In this case, greeter.clj is in the project in the same directory as the file containing my main function.</p>
  
  <p>For illustration purposes, I've created a project that has a directory tree like this:</p>
  
  <p><img src="https://i.stack.imgur.com/zSras.png" alt="enter image description here"></p>
  
  <p>My code for core.clj is as follows:</p>
  
  <pre><code>(ns omg.core
  (require [greeter]))
  
  (defn -main[] (greet))
  </code></pre>
  
  <p>My code for greeter.clj is:</p>
  
  <pre><code>(ns greeter)
  
  (defn greet [] println("Hello world"))
  </code></pre>
  
  <p>Whenever I type <code>lein run -m omg.core</code> I get the exception mentioned above. What am I doing wrong?</p>