Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Execute Java code block in org mode

I can't seem to be able to evaluate Java code snippets in org mode. Here is what I have

#+BEGIN_SRC java
public class Main {
      public static void main(String[] args) {
          System.out.println("hello world");
      }
  }
#+END_SRC

I get the following error: can't compile a java block without a classname. I can evalute python blocks just find though. The same java snippet works fine if I compile it with javac.

I have already enabled java in the emacs init file.

like image 362
user3146687 Avatar asked Jan 07 '17 02:01

user3146687


2 Answers

I should have done more googling, found the answer here: http://ehneilsen.net/notebook/orgExamples/org-examples.html

#+HEADERS: :classname HelloWorld 
#+begin_src java  :results output :exports both
  public class HelloWorld {
      public static void main(String[] args) {
          System.out.println("Hello, World");
      }
  }
#+end_src

#+RESULTS:
: Hello, World
like image 164
user3146687 Avatar answered Nov 04 '22 19:11

user3146687


You need to include :classname Test, like this

#+BEGIN_SRC java :classname Test
class Test {
    public static void main(String[] args) {
        System.out.println("Hello world!");
    }
}
#+END_SRC
like image 26
Tanis Avatar answered Nov 04 '22 18:11

Tanis