Hi John, Thanks for the suggestion and patch. Is the reason for this so that you can have classes without needing dummy "main" methods? Did you consider using org-babel-tangle to generate the source files? This works for me: Steps: 1. put javatangle.org (below) on your local. 2. create "pkg" directory where javatangle.org is 3. run org-babel-tangle on javatangle.org (this writes two source files to the pkg dir) 4. run C-c C-c on the top source block (this compiles both source files and runs main) ----- javatangle.org ----- #+begin_src java :results output :classname pkg/Main :tangle pkg/Main.java package pkg; public class Main { public static void main(String[] args) { System.out.println(Hey.hey()); } } #+end_src #+begin_src java :results output :classname pkg/Hey :tangle pkg/Hey.java package pkg; public class Hey { public static String hey() { return "hey"; } } #+end_src On Sun, Sep 27, 2020 at 5:19 PM John Herrlin wrote: > > Hey Ian! > > Happy to see you as the maintainer of the ob-java! > > I would like to propose a feature to ob-java. The feature allows a > source code block to write and compile only, without executing. > > Here is a common use case for me. > > Class without a entry point have an :compile-only header. > > #+HEADER: :classname se/my_test_package/Hey > #+HEADER: :dir src > #+HEADER: :compile-only t > #+HEADER: :results none > #+BEGIN_SRC java > package se.my_test_package; > > public class Hey { > public static String hey(String name) { > return "Hey " + name; > } > } > #+END_SRC > > The provided diff works for my small use case. What do you think? > > -- > Best regards > John > >