рдореБрдЭреЗ рдорд╛рд╡реЗрди рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИред
рдЗрд╕ рдЪреАрдЬ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореЗрд░реА рднрд╛рд╡реБрдХ рдШреГрдгрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рд▓реЗрдЦ рд▓рд┐рдЦреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдЬ рдореИрдВ рдорд╛рд╡реЗрди рдХреА рдПрдХ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ - рдЖрд░реНрдХрд╖рдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред рдпрд╣ рдЖрдк
рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ, рд╣реИрдмреЗ (
1 ,
2 ,
3 ) рдкрд░ рдорд╛рд╡реЗрди рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЖрдк рд╢рд╛рдпрдж рдЦреБрдж рдХреЛ рдЬрд╛рдирддреЗ рд╣реИрдВред
рддреЛ, рдЪрд╛рдкрд▓реВрд╕ рд╢рд╛рдВрдд рд╣реИрдВ, рдФрд░ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ 1) рд╡реЗ рдПрдХ рдорд╛рдирдХ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд╕рд╛рде рдХрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдереЗред 2) рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдЬрдХрдбрд╝рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рдирд╣реАрдВ рд╣реИред
рдпрд╣реА рдмрд╛рдд
рдкреАрдЯрд░ рд▓реЗрдбрдмреНрд░реБрдХ рдиреЗ рд╕реЛрдЪреА рдЬрдм рдЙрдиреНрд╣реЛрдВрдиреЗ
рд░реИрдЯрдкреИрдХ рдореЗрдВ
рдЪрд╛рдкрд▓реВрд╕реЛрдВ рдХреА рдкреВрд░реНрдг рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдХреЛ рджреЗрдЦрд╛ред рддрдм
рд▓реЗрдЬреАрдмреЛрдиреНрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдЬрдиреНрдо рд╣реБрдЖ рдерд╛ - рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдХрд░рдгред
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдХреИрд╕реЗ 1) рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Lazybones рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╣реА рдЯреЗрдореНрдкрд▓реЗрдЯ рдмрдирд╛рдП рдЬрд╛ рдЪреБрдХреЗ рд╣реИрдВред 2) рдХрд┐рд╕реА рднреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдирдП рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдмрдирд╛рдПрдВред
рдореМрдЬреВрджрд╛ Lazybones рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
рддрдм рд╕рдм рдХреБрдЫ рдмреЗрд╣рдж рдЫреЛрдЯрд╛ рд╣реЛрдЧрд╛:
- GVM рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ Lazybones рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ рдпрд╛ Bintray рд╕реЗ рд╡рд┐рддрд░рдг рдкреИрдХреЗрдЬ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ
- рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐
lazybones list
рд╕рд╛рде рдХреНрдпрд╛ рдкреИрдЯрд░реНрди рдореМрдЬреВрдж рд╣реИрдВ (рдпрд╛ рднрдВрдбрд╛рд░ рдХрд╛ рдЕрдзреНрдпрдпрди) - рд╣рдо
lazybones info < >
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЪрдпрдирд┐рдд рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рддреЗ рд╣реИрдВ lazybones info < >
рдХрдорд╛рдВрдб (рдпрд╛ рдмрд┐рдВрдЯреНрд░реЗ рдкрд░ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рдкреИрдХрдЧ-рдИ рдореЗрдВ рд░реАрдбрдореА рдкрдврд╝реЗрдВ) - рд╣рдо рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдкреНрд░реЛрдЬреЗрдХреНрдЯ
lazybones create < > < > < >
рдпрд╣ рд╕рдм, рдЖрдкрдХреЗ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд╣рд░ рдХреЛрдИ рд╕реНрд╡рддрдВрддреНрд░ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдирд╣реАрдВ, рдЕрдм рд╣рдо рд╕рд┐рд░реНрдл рджрд┐рд▓рдЪрд╕реНрдк рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред
рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЯреЗрдореНрдкрд▓реЗрдЯ рдмрдирд╛рдирд╛
рдЪреВрдБрдХрд┐ рдЖрдк # 361
Maven archetype (
maven-archetype-quickstart ) рд╕реЗ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВ, рд╣рдо рднреА рдХреБрдЫ рдРрд╕рд╛ рд╣реА рдХрд░реЗрдВрдЧреЗ (рд╕рднреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рддреЗ рд╣реБрдП, рд╣рдо рдХреБрдЫ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреЛ рдЫреЛрдбрд╝ рджреЗрдВрдЧреЗ)ред
рди рдХреЗрд╡рд▓ рдЖрдк рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдП рдЧрдП рдЗрдВрдЯрд░рдиреЗрдЯ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреА рддреБрд▓рдирд╛ рджреЛрдиреЛрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЖрдк рд╕реНрд╡рдпрдВ рдЯреЗрдореНрдкрд▓реЗрдЯ рдмрдирд╛рдиреЗ рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдХреА рддреБрд▓рдирд╛ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдорд╛рд╡реЗрди рдЖрд░реНрдХрдЯрд╛рдЗрдк рдмрдирд╛рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ
рдпрд╣рд╛рдВ рд╡рд░реНрдгрд┐рдд
рд╣реИ ред
рддреЛ рдЪрд▓рд┐рдП рдЪрд▓рддреЗ рд╣реИрдВред
рд╣рдо рдХреНрдпрд╛ рд╣рд╛рд╕рд┐рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ:
- рдЗрдВрдЯрд░реЗрдХреНрдЯрд┐рд╡ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ
groupId
, artifactId
рдФрд░ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдмреБрдирд┐рдпрд╛рджреА pom.xml рдмрдирд╛рдПрдВ - рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рдПрдБ src / main / java, src / main / Resources (рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди, рд▓реЗрдХрд┐рди рд╣рдо, рд╕рд╛рджрдЧреА рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ)
- рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдХреНрд▓рд╛рд╕ рдмрдирд╛рдПрдВ, рдЗрд╕рдореЗрдВ рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪреБрдиреЗ рдЧрдП
package
рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ package
рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдбрд╛рд▓реЗрдВ (рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди, рд▓реЗрдХрд┐рди рд╣рдо рд╕рд╛рджрдЧреА рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ) - рдХреНрд▓рд╛рд╕ рдореЗрдВ
main
рдЬрдирд░реЗрдЯ рдХрд░реЗрдВ, рдЬреЛ рдЯреЗрд╕реНрдЯ рдЪрд░рдг рд╢реБрд░реВ рд╣реЛрдиреЗ рдкрд░ рдЗрдВрдЯрд░реЗрдХреНрдЯрд┐рд╡ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪреБрдиреЗ рдЧрдП рд╕рдВрджреЗрд╢ рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдЧрд╛ - рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░реЗрдВ
- рд╣рдорд╛рд░реЗ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВ
mvn test
рдЪрд▓рд╛рдПрдВ- рд▓рд╛рдн
- рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдЧреНрд░реИрдбрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рд╡рд╛рд▓реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЪреВрдВрдХрд┐ рд╣рдо рдмрд╣реБрдд рдЖрд▓рд╕реА рд╣реИрдВ, рд╣рдо рдЖрд▓рд╕реА рднрд╛рдЧреЗрдВрдЧреЗ:
>lazybones create lazybones-project lzb-templates
рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИрдВ:
тФВ build.gradle // рдЪреИрд▓рди рдмрд┐рд▓реНрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ
Nyx рдХреЗ рд▓рд┐рдП тФВ gradlew // рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓реЙрдиреНрдЪ рдлрд╝рд╛рдЗрд▓
рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП тФВ gradlew.bat // рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓реЙрдиреНрдЪ рдлрд╝рд╛рдЗрд▓
тФВ README.md // рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓
тФВ
тФЬтФАтФАтФАgradle // рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рд╕рд╣рд╛рдпрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛
тФВ
.Templates // рд╣рдорд╛рд░реЗ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рд▓рд┐рдП рдЦрд╛рд▓реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛
- рд╣рдо
templates
рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ, рдЙрд╕рдореЗрдВ рдЕрдкрдиреЗ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреА рдПрдХ рдЙрдк-рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдмрдирд╛рддреЗ рд╣реИрдВ, рдФрд░ рдореВрд░реНрддрд┐рдХрд▓рд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБред рдЗрд╕реЗ VERSION
рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рд╣реЛрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП 0.1
> mkdir рдорд╛рд╡реЗрди-рд╕рд░рд▓
> рд╕реАрдбреА рдорд╛рд╡реЗрди рд╕рд░рд▓
> рдкреНрд░рддрд┐рдзреНрд╡рдирд┐ 0.1> рд╕рдВрд╕реНрдХрд░рдг
- рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдкрдХреЛ
readme.md
рдмрдирд╛рдиреЗ рдХреА readme.md
, рдЬрд┐рд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред src/main/java
, src/main/resources
рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рдПрдБред java
рдФрд░ рдЙрдирд╕реЗ resources
рд╣рдо рдПрдХ рдЦрд╛рд▓реА .retain
рдлрд╝рд╛рдЗрд▓ рдкрд░ рд░рдЦрддреЗ рд╣реИрдВ
тФЬтФАтФАтФАmaven-рд╕рд░рд▓
тФВ тФВ README.md
тФВ тФВ рд╕рдВрд╕реНрдХрд░рдг
тФВ тФВ
Rc rcsrc
Ain тФВрдореИрди
Ava тФВрдЬрд╡рд╛
Re re .retain
тФВ тФВ
Ources тФВresource
Tain .retain
- рдЕрдм рдЪрд▓рд┐рдП рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХрд╛ рдЦреНрдпрд╛рд▓ рд░рдЦрддреЗ рд╣реИрдВред рдЪрд▓реЛ pom.xml рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ:
<project> <modelVersion>4.0.0</modelVersion> <groupId>${groupId}</groupId> <artifactId>${artifactId}</artifactId> <version>${version}</version> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>1.2.1</version> <executions> <execution> <phase>test</phase> <goals> <goal>java</goal> </goals> <configuration> <mainClass>${pkg}.App</mainClass> <arguments> <argument>${message}</argument> </arguments> </configuration> </execution> </executions> </plugin> </plugins> </build> </project>
рдПрдПрдПрдПрдПрдП !!!!!!!
рддреЛ, рдЕрдкрдиреЗ рдЖрдк рдХреЛ рдПрдХ рд╕рд╛рде рдЦреАрдВрдЪ рд▓рд┐рдпрд╛, рджреЗрдЦреЛред рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ ${...}
ред рдпрд╣ рд╡рд╣ рд╣реИ рдЬреЛ рд╣рдо рдЙрди рдорд╛рдиреЛрдВ рдореЗрдВ рдмрджрд▓ рдЬрд╛рдПрдВрдЧреЗ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣рдореЗрдВ create
рд╕рдордп рдкреВрдЫреЗрдВрдЧреЗред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдпреЗ рд╕рд┐рд░реНрдл рдЧреНрд░реВрд╡реА рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдЯреЛрдХрди рд╣реИрдВред рдпрджрд┐ рдЖрдк рд╡реЗрд▓реЛрд╕рд┐рдЯреА, рдлрд╝реНрд░реАрдорд╛рд░реНрдХрд░, рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдЯреЗрдореНрдкрд▓реЗрдЯ рд╣реИрдВрдбрд▓рд░ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВ, рддреЛ рдЖрдк рд╣рд░ рдЪреАрдЬрд╝ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдВрдЧреЗред рд▓реЗрдХрд┐рди рдЙрд╕ рдкрд░ рдФрд░ рдмрд╛рдж рдореЗрдВред
рд╣реЗрд▓рдлреЗрдпрд░ рдЗрди App
рдХреЗ main
рд╡рд░реНрдЧ рдХрд╛ рд╕рд┐рд░реНрдл рд▓реЙрдиреНрдЪ рд╣реИред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╣рдо рдЕрднреА рддрдХ рдЗрд╕ рд╡рд░реНрдЧ рдХреЗ package
рдФрд░ main
рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВред - рдЕрдм
App.java
рдлрд╝рд╛рдЗрд▓ рдХреЛ рджреЗрдЦреЗрдВ:
package ${pkg}; public class App { public static void main(String[] args) { System.out.println(args[0]); } }
рдпрд╣рд╛рдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рдПрдХ рдЪрд░ рд╣реИ - рдлрд┐рд░ рд╕реЗ, package
ред рдЙрд╕реА рд╕рдордп, рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдореБрдЦреНрдп рддрд░реНрдХ рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдорд╛рд╡реЗрди рдХреЗ рд▓реЙрдиреНрдЪ рдХреЗ рджреМрд░рд╛рди, рдкрд░реАрдХреНрд╖рдг рдЪрд░рдг рдореЗрдВ, рд╣рдо рдЙрд╕ рд╕рдВрджреЗрд╢ рдХреЛ рджреЗрдЦрдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЪрдпрди рдХреЗ рджреМрд░рд╛рди, рдлрд┐рд░ рд╕реЗ create
ред
рддреЛ рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рднреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдПрдВ рдФрд░ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╣реИрдВ:
Ava App.java
Ones lazybones.groovy
X pom.xml
тФВ README.md
тФВ рд╕рдВрд╕реНрдХрд░рдг
тФВ
тФФтФАтФАтФАsrc
тФФтФАтФАтФАmain
тФЬтФАтФАтФАjava
тФВ .retain
тФВ
тФФтФАтФАтФАresources
.retain
- рдФрд░ рдЕрдм рдордЬрд╛ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдПрдХ рдкреЛрд╕реНрдЯ рдкреНрд░реЛрд╕реЗрд╕рд░ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╣рддрд╛ рд╣реИ рдЬреЛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рдЕрдирдкреИрдХ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЪрд▓реЗрдЧрд╛ред рдХрд╛рд░реНрдп: 1) рд╕рдм рдХреБрдЫ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдЬрд░реВрд░рдд рд╣реИ, 2) рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП рдЗрд╕реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рд▓рд┐рдП рдЬрд╛рд╡рд╛ рдлрд╝рд╛рдЗрд▓ рд╣рд╕реНрддрд╛рдВрддрд░рдг рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВ, 3) рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ред
рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рдЧреНрд░реВрд╡ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣рдореЗрдВ рдЗрд╕рдореЗрдВ рдорджрдж рдХрд░реЗрдЧреА, рдЕрд╡рд╢реНрдп:
import static org.apache.commons.io.FileUtils.moveFileToDirectory Map<String,String> props = [:]
рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдмрддрд╛ рд░рд╣реА рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИред рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬреЛ рд╕рдВрднрд╡рддрдГ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ ask()
рдФрд░ processTemplates()
рд╡рд┐рдзрд┐рдпрд╛рдБ рдФрд░ uk.co.cacoethes.lazybones.LazybonesScript
рдХреЛ uk.co.cacoethes.lazybones.LazybonesScript
рдХреНрд▓рд╛рд╕ рд╕реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдорд┐рд▓рддрд╛ рд╣реИ, рдЬреЛ рдЗрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдПрдХ рдХрд╕реНрдЯрдо рд╕реБрдкрд░-рдХреНрд▓рд╛рд╕ рд╣реИ ред - рдпрд╣ рд╕рдВрдЧреНрд░рд╣ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред Lazybones рдХреЗ рдкрд╛рд╕ Gradle рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдкреНрд▓рдЧрдЗрди рд╣реИ, рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рдирд┐рд░реНрдорд┐рдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдЪрд░рдг 1 рдореЗрдВ рдЙрддреНрдкрдиреНрди рдХрд┐рдпрд╛ рдерд╛ред рдпрд╣ рдкреНрд▓рдЧрдЗрди рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп рдирд┐рдпрдореЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ, рд╕реНрдерд╛рдиреАрдп рдХреИрд╢ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЯрд┐рдВрдЯ рдХреЛ Bintray рдореЗрдВ рддреИрдирд╛рдд рдХрд░рддрд╛ рд╣реИред рдЪреВрдВрдХрд┐ рд╣рдорд╛рд░рд╛ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдЧрдВрднреАрд░ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ рдЗрд╕реЗ рдмрд┐рдВрдЯреНрд░реЗ рдкрд░ рдирд╣реАрдВ рд░рдЦрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдХреИрд╢ рдореЗрдВ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рдЕрдирд┐рд╡рд╛рд░реНрдп рд╣реИред рд╣рдо рд╡рд┐рдзрд╛рдирд╕рднрд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ:
>gradlew installTemplateMavenSimple
:packageTemplateMavenSimple
:installTemplateMavenSimple
BUILD SUCCESSFUL
- рдкрд░реАрдХреНрд╖рдг! рдПрдХ рдирдИ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рдПрдВ рдФрд░ рдЙрд╕рдореЗрдВ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╕реЗ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдирд╛рдПрдВ (рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╣реА рджреЗрдЦрд╛ рд╣реИ):
>lazybones create maven-simple 0.1 maven-simple
Creating project from template maven-simple 0.1 in 'maven-simple'
groupId [org.example]: com.demo
artifactId [maven-simple]:
[1.0-SNAPSHOT]: 0.1
package [org.example]:org.simple
? , !
-
---------------------------------
. ? .
Project created in maven-simple!
рдЕрдВрдд рдореЗрдВ рд╕рдВрджреЗрд╢ рдЖрддрд╛ рд╣реИ, рдмреЗрд╢рдХ, readme.md
ред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ, рдореИрдВрдиреЗ artifactId
рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ maven-simple
рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░реЗрдВред
рд╣рдо рдорд╛рд╡реЗрди-рд╕рд░рд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдкреНрд░рд╢рдВрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ:
X pom.xml
тФВ README.md
тФВ
тФФтФАтФАтФАsrc
тФФтФАтФАтФАmain
тФЬтФАтФАтФАjava
тФФтФАтФАтФА тФФтФАтФАтФАorg
Im imsimple
Ava App.java
тФВ
тФФтФАтФАтФАresources
Pom.xml рдЦреЛрд▓реЗрдВ:
<project> <modelVersion>4.0.0</modelVersion> <groupId>com.demo</groupId> <artifactId>maven-simple</artifactId> <version>0.1</version> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>1.2.1</version> <executions> <execution> <phase>test</phase> <goals> <goal>java</goal> </goals> <configuration> <mainClass>org.simple.App</mainClass> <arguments> <argument>, !</argument> </arguments> </configuration> </execution> </executions> </plugin> </plugins> </build> </project>
рд╕рдм рдХреБрдЫ рдЬреИрд╕рд╛ рд╣реИ рд╡реИрд╕рд╛ рд╣реА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред App.java рдЦреЛрд▓реЗрдВ:
package org.simple; public class App { public static void main(String[] args) { System.out.println(args[0]); } }
рд╡рд╣реА рдХреНрд░рдоред рдорд╛рд╡реЗрди рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ:
> рдорд╛рд╡рди рдкрд░реАрдХреНрд╖рдг
[рдЬрд╛рдирдХрд╛рд░реА] рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдХреИрдирд┐рдВрдЧ ...
[рдЬрд╛рдирдХрд╛рд░реА]
[рдЬрд╛рдирдХрд╛рд░реА] ----------------------------------------------- -------------------------
[рдЬрд╛рдирдХрд╛рд░реА] рдмрд┐рд▓реНрдбрд┐рдВрдЧ рдорд╛рд╡реЗрди-рд╕рд░рд▓ реж.рез
[рдЬрд╛рдирдХрд╛рд░реА] ----------------------------------------------- -------------------------
[рдЬрд╛рдирдХрд╛рд░реА]
[рдЬрд╛рдирдХрд╛рд░реА] --- рдорд╛рд╡реЗрди-рд╕рдВрд╕рд╛рдзрди-рдкреНрд▓рдЧрдЗрди: реи.рем: рд╕рдВрд╕рд╛рдзрди (рдбрд┐рдлрд╝реЙрд▓реНрдЯ-рд╕рдВрд╕рд╛рдзрди) @ рдорд╛рд╡реЗрди-рд╕рд░рд▓ ---
[рдЬрд╛рдирдХрд╛рд░реА] реж рд╕рдВрд╕рд╛рдзрди рдХреА рдирдХрд▓ рдХрд░рдирд╛
[рдЬрд╛рдирдХрд╛рд░реА]
[рдЬрд╛рдирдХрд╛рд░реА] --- рдорд╛рд╡реЗрди-рд╕рдВрдХрд▓рдХ-рдкреНрд▓рдЧрдЗрди: реи.рел.рез: рд╕рдВрдХрд▓рди (рдбрд┐рдлрд╝реЙрд▓реНрдЯ-рд╕рдВрдХрд▓рди) @ рдорд╛рд╡реЗрди-рд╕рд░рд▓ ---
[рдЬрд╛рдирдХрд╛рд░реА] рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдирд╣реАрдВ - рд╕рднреА рдХрдХреНрд╖рд╛рдПрдВ рдЕрдк рдЯреВ рдбреЗрдЯ рд╣реИрдВ
[рдЬрд╛рдирдХрд╛рд░реА]
[рдЬрд╛рдирдХрд╛рд░реА] --- рдорд╛рд╡реЗрди-рд╕рдВрд╕рд╛рдзрди-рдкреНрд▓рдЧрдЗрди: реи.рем: рдкрд░реАрдХреНрд╖рдг-рд╕реНрд░реЛрдд (рдбрд┐рдлрд╝реЙрд▓реНрдЯ-рдкрд░реАрдХреНрд╖рдг-рд╕реНрд░реЛрдд) @ рдорд╛рд╡реЗрди-рд╕рд░рд▓ ---
[рдЬрд╛рдирдХрд╛рд░реА]
[INFO] --- рдорд╛рд╡реЗрди-рдХрдВрдкрд╛рдЗрд▓рд░-рдкреНрд▓рдЧрдЗрди: 2.5.1: testCompile (рдбрд┐рдлрд╝реЙрд▓реНрдЯ-testCompile) @ рдорд╛рд╡реЗрди-рд╕рд░рд▓ ---
[рдЬрд╛рдирдХрд╛рд░реА] рд╕рдВрдХрд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕реНрд░реЛрдд рдирд╣реАрдВ
[рдЬрд╛рдирдХрд╛рд░реА]
[рдЬрд╛рдирдХрд╛рд░реА] --- рдорд╛рд╡реЗрди-рдЕрдЪреВрдХ-рдкреНрд▓рдЧрдЗрди: реи.резреи.рек: рдкрд░реАрдХреНрд╖рдг (рдбрд┐рдлрд╝реЙрд▓реНрдЯ-рдкрд░реАрдХреНрд╖рдг) @ рдорд╛рд╡реЗрди-рд╕рд░рд▓ ---
[рдЬрд╛рдирдХрд╛рд░реА] рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВред
[рдЬрд╛рдирдХрд╛рд░реА]
[рдЬрд╛рдирдХрд╛рд░реА] >>> рдирд┐рд╖реНрдкрд╛рджрди-рдорд╛рд╡реЗрди-рдкреНрд▓рдЧрдЗрди: 1.2.1: рдЬрд╛рд╡рд╛ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ) @ рдорд╛рд╡реЗрди-рд╕рд░рд▓ >>>
[рдЬрд╛рдирдХрд╛рд░реА]
[рдЬрд╛рдирдХрд╛рд░реА] <<< рдирд┐рд╖реНрдкрд╛рджрди-рдорд╛рд╡реЗрди-рдкреНрд▓рдЧрдЗрди: рез.реи.рез: рдЬрд╛рд╡рд╛ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ) @ рдорд╛рд╡реЗрди-рд╕рд░рд▓-рдЕрдВрдЧреНрд░реЗрдЬрд╝реА
[рдЬрд╛рдирдХрд╛рд░реА]
[рдЬрд╛рдирдХрд╛рд░реА] --- рдирд┐рд╖реНрдкрд╛рджрди-рдорд╛рд╡реЗрди-рдкреНрд▓рдЧрдЗрди: рез.реи.рез: рдЬрд╛рд╡рд╛ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ) @ рдорд╛рд╡реЗрди-рд╕рд░рд▓ ---
рд╣реЗрд▓реЛ, рд╣реЗрдмреНрд░!
[рдЬрд╛рдирдХрд╛рд░реА] ----------------------------------------------- -------------------------
[рдЬрд╛рдирдХрд╛рд░реА] рдирд┐рд░реНрдорд╛рдг рд╕рдлрд▓рддрд╛
[рдЬрд╛рдирдХрд╛рд░реА] ----------------------------------------------- -------------------------
[рдЬрд╛рдирдХрд╛рд░реА] рдХреБрд▓ рд╕рдордп: 0.768s
[рдЬрд╛рдирдХрд╛рд░реА] рдкрд░ рд╕рдорд╛рдкреНрдд: рд╢реБрдХреНрд░ режрек рдЕрдкреНрд░реИрд▓ режреи:режрек:режрек реирежрезрек
[рдЬрд╛рдирдХрд╛рд░реА] рдЕрдВрддрд┐рдо рдореЗрдореЛрд░реА: / рдПрдо / рейрежрек рдПрдо
[рдЬрд╛рдирдХрд╛рд░реА] ----------------------------------------------- -------------------------
рд╡рд╣ рд╕рдм рд╣реИред рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдк рд╕рд╛рджрдЧреА рдФрд░ рдЕрдиреБрдЧреНрд░рд╣ рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реЛрдВрдЧреЗ рдФрд░ рджреЛрдиреЛрдВ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рд╕реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЦреБрдж рдХреЛ рд▓реЗрдЬрд╝реАрдмреЛрдиреНрд╕ рдореЗрдВ рдЯреЗрдореНрдкрд▓реЗрдЯ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВред рдпрд╣ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрди рд╕рд╛рджрдЧреА рдФрд░ рдЕрдиреБрдЧреНрд░рд╣ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЧреНрд░реВрд╡реА рдХреЛ рдзрдиреНрдпрд╡рд╛рдж рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдорд╛рдпрдиреЛрдВ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╣реИред
рдмреЗрд╢рд░реНрдо рдкреАрдЖрд░, рдЖрдк рдкрдврд╝ рдирд╣реАрдВ рд╕рдХрддреЗрдпрджрд┐ рдЖрдк рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЖрдк рдЕрдиреБрдЧреНрд░рд╣ рдФрд░ рд╕рд╛рджрдЧреА рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдореБрдЭрд╕реЗ рд╕рд╣рдордд рд╣реИрдВ, рдФрд░ рдпрджрд┐ рдЖрдк рд╕реНрд╡рдпрдВ рдереЛрдбрд╝рд╛ рдЧреНрд░реВрд╡ рд╕реАрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ
15 рдЕрдкреНрд░реИрд▓ рдХреЛ рдХрдЬрд╝рд╛рди , рдпрд╛
17 рдЕрдкреНрд░реИрд▓ рдХреЛ рдорд╛рд╕реНрдХреЛ рдореЗрдВ рдореЗрд░реЗ рдкреНрд░рд╢рд┐рдХреНрд╖рдг
рдкрд░ рдЖрдПрдВред рдореИрдВ рдЧреНрд░реВрд╡реА рдмрдиреНрд╕ рдХреЛ рдкрдврд╝рд╛рдиреЗ рдХрд╛ рд╡рд╛рджрд╛ рдХрд░рддрд╛ рд╣реВрдВред