What does it take to build, distribute & run java application?
What are the distribution options?
project_root |- src |- main |- java |- resources |- test |- java |- resources |- pom.xml
pom.xml
<project> <modelVersion>4.0.0</modelVersion> <groupId>cz.muni.fi.pv168</groupId> <artifactId>zinger</artifactId> <version>1.0-SNAPSHOT</version> </project>
${M2_HOME}/repository
~/.m2/repository
Let's look at full pom.xml
"I don't like it, what are the other options?"
Refactoring: Improving the Design of Existing Code, 2nd edition
Martin Fowler, Kent Beck
Addison-Wesley Professional, 2019
https://www.amazon.com/gp/product/B07LCM8RG2
Refactoring (noun): a change made to the internal structure of software to make it easier to understand and cheaper to modify without changing its observable behavior.
(Martin Fowler, Refactoring, page 45)
Refactoring (verb): to restructure software by applying a series of refactorings without changing its observable behavior.
If someone says their code was broken for a couple of days while they are refactoring, you can be pretty sure they were not refactoring.
Before you start refactoring, make sure you have a solid suite of tests.
(Martin Fowler, Refactoring, page 5)