aboutsummaryrefslogtreecommitdiff
path: root/docs/markdown/Java.md
blob: f0dd403802befaed74f0efc1c5c051addc54d285 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
---
title: Java
short-description: Compiling Java programs
...

# Compiling Java applications

Meson has experimental support for compiling Java programs. The basic
syntax consists of only one function and would be used like this:

```meson
project('javaprog', 'java')

myjar = jar('mything', 'com/example/Prog.java',
            main_class : 'com.example.Prog')

test('javatest', myjar)
```

However note that Meson places limitations on how you lay out your code.

* all Java files for a jar must be under the subdirectory the jar definition is in
* all Java files must be in paths specified by their package, e.g. a class called `com.example.Something` must be in a Java file situated at `com/example/Something.java`.
* Meson only deals with jar files, you cannot poke individual class files (unless you do so manually)