рдЪреАрдВрдЯреА + рдЯреЙрдореНрдХрдЯ: рдереЛрдбрд╝рд╛ рд╕реНрд╡рдЪрд╛рд▓рди рджрд┐рдирдЪрд░реНрдпрд╛

рд╕рднреА рдХреЛ рд╢реБрдн рджрд┐рдиред рдореИрдВрдиреЗ рдЫреЛрдЯреЗ рд╕реНрд╡рдЪрд╛рд▓рди рдЙрдкрдХрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдиреЛрдЯ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдЬреЛ рдЪреАрдВрдЯреА + рдЯреЙрдореНрдХреЗрдЯ рдмрдВрдбрд▓ рдХреЗ рд╕рд╛рде рдореЗрд░реЗ рдХрд╛рдо рдХреЗ рджреМрд░рд╛рди рдЙрддреНрдкрдиреНрди рд╣реБрдЖред рдореИрдВ рдПрдХ рдЬрд╛рд╡рд╛ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдВ, рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдореБрдЭреЗ рдЬрд╛рд╡рд╛ рдореЗрдВ рд╡реЗрдм рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдЙрддрд░рдирд╛ рдкрдбрд╝рд╛ (рдореБрдЭреЗ рдЦреБрд╢реА рдХреЗ рдмрд┐рдирд╛ рдирд╣реАрдВ рдХрд╣рдирд╛ рдЪрд╛рд╣рд┐рдП)ред рдореИрдВ рдЬрд╛рд╡рд╛ рдореЗрдВ рд╡реЗрдм рдХреЗ рд▓рд┐рдП рдХрднреА рднреА рдЧрдВрднреАрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдирд╣реАрдВ рдЖрдпрд╛ рд╣реВрдВ, рдореИрдВрдиреЗ "рдкреБрд╕реНрддрдХреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ" рд╕рдм рдХреБрдЫ "рд╢реНрд░реГрдВрдЦрд▓рд╛" рд╕реЗ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рдЬрд╛рд╡рд╛ рдкреБрд╕реНрддрдХреЛрдВ рдХреЗ рдврд╛рдВрдЪреЗ рдореЗрдВ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдЦреЗрд▓рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рднреА рдЧрдВрднреАрд░ рдирд╣реАрдВ рд╣реИред рдФрд░ рдпрд╣рд╛рдБ рдПрдХ рдкреВрд░реНрдг рдкреЛрд░реНрдЯрд▓ рд╕реЗ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИ рдЬреЛ рд╕рд╛рдордЧреНрд░реА рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рдмреИрдХрдПрдВрдб рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдбреЗрдЯрд╛ рд╣реИред рдЦреИрд░, рдпрд╣ рдХреНрдпрд╛ рд╣реИ рдФрд░ рд╣рд╛рдБ рдпрд╣ рд╣реИред рдХрд╛рдо рд╢реБрд░реВ рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдЬреНрдЮрд╛рди рдХрд╛ рдПрдХ рдирдпрд╛ рдХреНрд╖реЗрддреНрд░ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рдЫреЛрдЯреА рдЪреАрдЬреЗрдВ рдЧрд╛рдпрдм рд╣реИрдВред рд▓реЗрдХрд┐рди рд╕рдордп рдХреЗ рд╕рд╛рде, рдЖрд╡реЗрджрди рдХреЗ рдирд┐рд░реНрдорд╛рдг рдФрд░ рддреИрдирд╛рддреА рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмрд╣реБрдд рдХрдард┐рди рд╣реЛрдиреЗ рд▓рдЧреА, рдХреНрдпреЛрдВрдХрд┐ "рд╕рдмрд╕реЗ" рджрд┐рдиреЛрдВ рдореЗрдВ рдореБрдЭреЗ рдХрд╛рдо рдХрд╛ рдкрд░рд┐рдгрд╛рдо рджреЗрдЦрдиреЗ рдФрд░ рдЗрд╕реЗ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 40 рдмрд╛рд░ рдЗрд╕ рдСрдкрд░реЗрд╢рди рдХреЛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдВ рд╕рд╡рд╛рд▓ рдЙрдарддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП, рдЬреИрд╕реЗ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЬрд╛рд╡рд╛ рдореЗрдВ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдФрд░ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдирд╣реАрдВ рдХрд░рддрд╛ рдерд╛, рдореИрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдереЛрдбрд╝рд╛ рдФрд░ рд▓рд┐рдЦреВрдВрдЧрд╛ред

1. рддреЛ, рдЖрд╡реЗрджрди рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рдЖрдИрдбреАрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдмрдбрд╝реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдкрд░ рдЬрд╣рд╛рдВ рдХрдИ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рдкрд╛рд╕ рдЕрдкрдиреА рдЖрдИрдбреАрдИ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдПрдПрдирдЯреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрддрд╛ рд╣реИ - рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗред рдЗрд╕рд▓рд┐рдП рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХрд░реЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЗрд╕ рддрд░рд╣: рдЪреАрдВрдЯреА рдЬрд╛рд░ред рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдФрд╕рддрди рдПрдХ рдЬрд╛рд░ рдореЙрдбреНрдпреВрд▓ рдмрдирд╛рдиреЗ рдореЗрдВ рдореБрдЭреЗ рд▓рдЧрднрдЧ 15-20 рд╕реЗрдХрдВрдб рдХрд╛ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИред рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдПрдХ рдпреБрджреНрдз рдлрд╝рд╛рдЗрд▓ (рдЬрд╛рд╡рд╛ рдПрд╕рдИ рдореЗрдВ рдЬрд╛рд░ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рдорд╛рди) рд╣реИред рд▓реЗрдХрд┐рди рдЕрдВрддрд┐рдо рдпреБрджреНрдз-рдлрд╛рдЗрд▓ (рдФрд░ рдЖрдорддреМрд░ рдкрд░ рдЕрдиреНрдп рдореЙрдбреНрдпреВрд▓ рдХреА рдЬрд╛рд░-рдлрд╛рдЗрд▓реЛрдВ рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ)ред рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдпрджрд┐ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдХреЛрдб, рдЬрд┐рд╕ рдкрд░ рдЕрдВрддрд┐рдо рдпреБрджреНрдз-рдлрд╝рд╛рдЗрд▓ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдкрд╣рд▓реЗ рд╣рдо рдореЙрдбреНрдпреВрд▓ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рддреЗ рд╣реИрдВ, рдлрд┐рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╕реНрд╡рдпрдВ рдЗрдХрдЯреНрдард╛ рдХрд░рддреЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ 2 рдРрд╕реЗ рдореЙрдбреНрдпреВрд▓ рд╣реИрдВ, рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдХрд╛рдо рдХреЗ рджреМрд░рд╛рди, рдкрд░рд┐рд╡рд░реНрддрди рдПрдХ рд╣реА рдореЙрдбреНрдпреВрд▓ рдХреЗ рднреАрддрд░ рдЬрд╛рддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рджреЛрдиреЛрдВ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдирд╛ рдпрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ (рдЕрдВрддрд┐рдо рдпреБрджреНрдз рдХреЛ рдЫреЛрдбрд╝рдХрд░, рдЬрд┐рд╕рдХреЗ рдХреЛрдб рдореЗрдВ рдХреБрдЫ рдмрджрд▓ рдЧрдпрд╛ рд╣реИ)ред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, 1 рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЖрдорддреМрд░ рдкрд░ рдлрд┐рд░ рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЖрджреЗрд╢реЛрдВ рдХрд╛ рдХреНрд░рдо рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реЛрдЧрд╛:

 cd { } ant jar cd {  } ant war 

рдирддреАрдЬрддрди, рд╣рдореЗрдВ рдЖрд╡реЗрджрди рдХреА рдпреБрджреНрдз рдлрд╛рдЗрд▓ рдорд┐рд▓рддреА рд╣реИред рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреЛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рдмреАрдЪ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдореЗрдВ 50-60 рд╕реЗрдХрдВрдб рд▓рдЧрддреЗ рд╣реИрдВред рдореБрдЭреЗ рддреБрд░рдВрдд рдпрд╣ рдХрд╣рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рджреЛ рдЕрдВрддрд┐рдо рдпреБрджреНрдз-рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВ: рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рднрд╛рдЧ рдФрд░ рдирд┐рдЬреА рднрд╛рдЧ, рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рд╕рднрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрджреЗрд╢ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреА рдЕрд╕реБрд╡рд┐рдзрд╛ рдпрд╣ рд╣реИ рдХрд┐ "рдпреБрджреНрдз" рдХреА рдЕрд╕реЗрдВрдмрд▓реА "рдЕрдирд╛рд╡рд╢реНрдпрдХ" рдЕрдм рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рд╣реИред

2. рдЖрд╡реЗрджрди рдХреЛ рд╕реНрд╡рдпрдВ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдореЗрдВ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдпреБрджреНрдз-рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рд░реНрд╡рд░ рдкрд░ рддреИрдирд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЯреЙрдордХреИрдЯ рдХрдВрдЯреНрд░реЛрд▓ рдкреИрдирд▓ рдкрд░ рдЬрд╛рдПрдВ, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг (рдпрджрд┐ рдпрд╣ рдерд╛) рдХреЛ рд╣рдЯрд╛ рджреЗрдВ, рдирдИ рдпреБрджреНрдз рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕реНрдерд╛рди рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдВ рдФрд░ рдереЛрдбрд╝реА рджреЗрд░ (40-60 рд╕реЗрдХрдВрдб) рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ, рдЙрд╕рдХреЗ рдмрд╛рдж рд╣рдо рдмрдирд╛рдП рдЧрдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ "рдЬрд╛рдВрдЪ" рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдпрд╣ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореИрдВ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреЗ рдЕрдиреБрдорд╛рдирд┐рдд рд╕рдордп рдФрд░ рдЖрд╡реЗрджрди рдХреА рддреИрдирд╛рддреА рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрддрд╛ рд╣реВрдВ - рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░, 2-3 рдорд┐рдирдЯ рдХреЗ рд▓рд┐рдП рдЗрди рджреЛ рд╕рд░рд▓ рдХрджрдо рдкреНрд░рддреАрдд рд╣реЛрддреЗ рд╣реИрдВред рдпрд╣ рдереЛрдбрд╝рд╛ рд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╛рд░-рдмрд╛рд░ рдмрджрд▓рд╛рд╡ рдпрд╛ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдмрдЧ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдЦреЛрдЬрдиреЗ рдХреЗ рд╕рд╛рде, рдЖрдкрдХреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рд╕рд░реНрд╡рд░ рд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЕрдирдкреНрд▓реЙрдп (рд╣рдЯрд╛рдПрдВ), рдФрд░ рдлрд┐рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рддреИрдирд╛рдд (рддреИрдирд╛рдд) рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рджрд┐рди рдореЗрдВ рдЖрдк рдЗрд╕ рдСрдкрд░реЗрд╢рди рдХреЛ рдХреБрдЫ рдмрд╛рд░ рджреЛрд╣рд░рд╛рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдКрдкрд░ рд▓рд┐рдЦрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдСрдкрд░реЗрд╢рди рджрд░реНрдЬрдиреЛрдВ рдмрд╛рд░ рджреЛрд╣рд░рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдкрд░ рд╕рд╡рд╛рд▓ рдЙрдардиреЗ рд▓рдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рдСрдкрд░реЗрд╢рди рдХреЛ 10-20 рдмрд╛рд░ рджреЛрд╣рд░рд╛рдиреЗ рд╕реЗ 30-60 рдорд┐рдирдЯ рдХрд╛ рдЦрд░реНрдЪ рд▓рдЧрддрд╛ рд╣реИред рдареАрдХ рд╣реИ, рдЕрдЧрд░ рдЗрд╕ рд╕рдордп рдХрдВрдкреНрдпреВрдЯрд░ рд╕реЗ рд╡рд┐рдЪрд▓рд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рдерд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рд╡реНрдпрдХреНрддрд┐ рдХреА рдШрдиреА рднрд╛рдЧреАрджрд╛рд░реА рдЖрд╡рд╢реНрдпрдХ рд╣реИред

рдкрд╣рд▓реЗ, рдЪрд░рдг 1 (рдкреНрд░рддреНрдпреЗрдХ рдпреБрджреНрдз рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ рд╕реЗ) рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдорд╛рдВрдб рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЪреАрдВрдЯреА рдореЗрдВ рд╡рд┐рдЪрд╛рд░ рдЙрддреНрдкрдиреНрди рд╣реБрдЖ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рдпрд╣ рд╕рд╡рд╛рд▓ рдЙрдард╛ рдХрд┐ "рдХреНрдпрд╛ рдЪрд░рдг # 2 рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ?", рдпрд╣реА рд╣реИ, рдЪреАрдВрдЯреА рдХреЛ рд╕рд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреИрд╕реЗ рдЯреЙрдордХреИрдЯ рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рддреИрдирд╛рддреА рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░реЗрдВред Google рдореЗрдВ рдереЛрдбрд╝реА рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдХрдИ рд╕рдорд╛рдзрд╛рди рдвреВрдВрдвреЗ, рдЬрд┐рдирд╕реЗ рдореИрдВрдиреЗ рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рд╕рдВрдЧреНрд░рд╣ рдХрд┐рдпрд╛, рдкреНрд░рддреНрдпреЗрдХ рд╕реЗ рдХреБрдЫ рдХреНрд╖рдг рд▓реЗ рд░рд╣рд╛ рдерд╛ред

рдореИрдВ рдЪреАрдВрдЯреА рдореЗрдВ рдЖрд╡реЗрджрди рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЫреЛрдбрд╝ рджреВрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЗрд╕ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдкрд░ рдХрд┐рд╕реА рднреА рд╕рдВрджрд░реНрдн рд╕рд╛рдордЧреНрд░реА рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИ, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИред рддреБрд░рдВрдд рдЪрд░рдг 2 рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝реЗрдВред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдПрдХ рдЯреЙрдордХреИрдЯ рд╣реИ рддрд╛рдХрд┐ рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╣реЛ:

 <target name="if-has-tomcat"> <property environment="env"/> <condition property="has.tomcat"> <available file="${env.CATALINA_HOME}"/> </condition> </target> 

рд╣рдо "if-has-tomcat" рдХрд╛рд░реНрдп рдмрдирд╛рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рд╕рд╛рд░ CATALINA_HOME рд╕рд┐рд╕реНрдЯрдо рд╡реИрд░рд┐рдПрдмрд▓ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреА рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рд╣реИ рдФрд░ "has.tomcat" рд╡реИрд░рд┐рдПрдмрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕ рдЪреЗрдХ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╕реНрддреБрдд рдХрд░рдирд╛ рд╣реИред рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ property environment="env" рдЖрдкрдХреЛ рд╕рд┐рд╕реНрдЯрдо рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдЕрдм рдЬрдм рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЯреЙрдордХреИрдЯ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рд╣реИ, рддреЛ рд╣рдо рдЗрд╕рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рд╣рдореЗрдВ рдЪреАрдВрдЯреА рд╕реЗ рдЯреЙрдордХреИрдЯ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред рдЙрд╕реА рд╕рдордп, рдпрд╣рд╛рдВ рд╣рдо рдЬрд╛рдВрдЪрддреЗ рд╣реИрдВ рдХрд┐ рд╕рд░реНрд╡рд░ рдкрд░ рдпреБрджреНрдз рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкреБрд░рд╛рдирд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ рдпрд╛ рдирд╣реАрдВред

 <target name="check-if-deployed" depends="if-has-tomcat" if="has.tomcat"> <property name="tomcat.home.dir" location="${env.CATALINA_HOME}" /> <property name="tomcat.base.url" value="http://localhost:8080" /> <property name="tomcat.manager.url" value="${tomcat.base.url}/manager/text" /> <property name="tomcat.user.name" value="login" /> <property name="tomcat.user.password" value="password" /> <condition property="is.webapp.deployed"> <http url="${tomcat.base.url}/${ant.project.name}" /> </condition> <path id="tomcat.classpath"> <!-- We need the Catalina jars for Tomcat --> <fileset dir="${tomcat.home.dir}/lib"> <include name="catalina-ant.jar"/> <include name="tomcat-coyote.jar"/> <include name="tomcat-util.jar"/> </fileset> <fileset dir="${tomcat.home.dir}/bin"> <include name="tomcat-juli.jar"/> </fileset> </path> <!-- Configure the custom Ant tasks for the Manager application --> <taskdef name="deploy" classname="org.apache.catalina.ant.DeployTask" classpathref="tomcat.classpath"/> <taskdef name="list" classname="org.apache.catalina.ant.ListTask" classpathref="tomcat.classpath"/> <taskdef name="reload" classname="org.apache.catalina.ant.ReloadTask" classpathref="tomcat.classpath"/> <taskdef name="findleaks" classname="org.apache.catalina.ant.FindLeaksTask" classpathref="tomcat.classpath"/> <taskdef name="resources" classname="org.apache.catalina.ant.ResourcesTask" classpathref="tomcat.classpath"/> <taskdef name="start" classname="org.apache.catalina.ant.StartTask" classpathref="tomcat.classpath"/> <taskdef name="stop" classname="org.apache.catalina.ant.StopTask" classpathref="tomcat.classpath"/> <taskdef name="undeploy" classname="org.apache.catalina.ant.UndeployTask" classpathref="tomcat.classpath"/> </target> 

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо tomcat рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдЪрд░ рдШреЛрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ: tomcat рд╣реЛрдо рдлрд╝реЛрд▓реНрдбрд░, tomcat URL, Manager URL, рд▓реЙрдЧрд┐рди рдФрд░ рдкрд╛рд╕рд╡рд░реНрдбред рдлрд┐рд░ рд╣рдо рдПрдХ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬреЛ рдпрд╣ рдЬрд╛рдВрдЪрддреА рд╣реИ рдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкрд╣рд▓реЗ рд╕реЗ рд╣реЛрд╕реНрдЯреЗрдб рд╣реИ (рдпрд╛рдиреА, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдкреБрд░рд╛рдиреЗ рдХреЛ рд╣рдЯрд╛рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдЧрд╛)ред рдпрд╣рд╛рдВ $ {ant.project.name} рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдирд╛рдо рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЬрд┐рд╕реЗ рдКрдкрд░ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдореИрдВ рдЪреАрдВрдЯреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╣реЗрдбрд░ рдореЗрдВ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЪрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдХрд╛рд░реНрдп рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИ)ред рдЕрдЧрд▓рд╛ рдХрджрдо рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдЪреАрдВрдЯреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рд░реНрд╡рд░ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдФрд░ рдЖрдЦрд┐рд░реА - рд╣рдо рдЯреЙрдордХреИрдЯ рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдЪреАрдВрдЯреА рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпреЛрдВ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рддреЗ рд╣реИрдВред

рдЕрдм рдЬрдм рд╣рдо рд╕рднреА рд╕реНрд░реЛрдд рдбреЗрдЯрд╛ рдЬрд╛рдирддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдпреБрджреНрдз рдлрд╝рд╛рдЗрд▓ рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг (рдпрджрд┐ рдХреЛрдИ рд╣реЛ) рдХреЛ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ - рдЕрдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрдорд╛рдВрдб рдФрд░ рдПрдХ рдирдИ рдпреБрджреНрдз рдлрд╝рд╛рдЗрд▓ - рддреИрдирд╛рддреА рдХрдорд╛рдВрдбред

 <target name="undeploy" depends="if-has-tomcat, check-if-deployed" if="is.webapp.deployed"> <!-- TOMCAT undeploy--> <undeploy url="${tomcat.manager.url}" username="${tomcat.user.name}" password="${tomcat.user.password}" path="/${ant.project.name}" /> </target> <target name="deploy" depends="clean, war, if-has-tomcat, undeploy" if="has.tomcat"> <!-- TOMCAT deploy--> <deploy url="${tomcat.manager.url}" username="${tomcat.user.name}" password="${tomcat.user.password}" path="/${ant.project.name}" war="${dist.dir}/${ant.project.name}.war" /> </target> 

рдпрд╣рд╛рдБ, рджреНрд╡рд╛рд░рд╛ рдФрд░ рдмрдбрд╝реЗ, рдХреБрдЫ рднреА рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд╣реИред рдЪреАрдВрдЯреА рдХреА рддреИрдирд╛рддреА рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рдореЗрд╢рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рд╕рднреА рдлрд╝реЛрд▓реНрдбрд░реНрд╕ рдХреА рд╕рдлрд╛рдИ рдХреНрд▓рд╛рд╕ рдлрд╛рдЗрд▓ (рдХреНрд▓реАрди) рдХреЗ рд╕рд╛рде рдХрд░рддрд╛ рд╣реИ, рдлрд┐рд░ рд╡реЙрд░ рдлрд╛рдЗрд▓ (рдпреБрджреНрдз) рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдлрд┐рд░ рдЯреЙрдордХреИрдЯ (рдЕрдЧрд░-рд╣реИ-рдЯреЙрдордХреИрдЯ) рдХреА рдЬрд╛рдВрдЪ рдХреА рдЬрд╛рддреА рд╣реИ, рддреЛ рдкреВрд░реНрд╡ рдЪреЗрдХ рдкреЙрдЬрд┐рдЯрд┐рд╡ рд╣реЛрдиреЗ рдкрд░ рдЕрдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд╛рд░реНрдп рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред , рдЬреЛ рд╕рд░реНрд╡рд░ рдкрд░ рдпреБрджреНрдз рдлрд╝рд╛рдЗрд▓ рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдЗрд╕реЗ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИ, рдФрд░, рдЕрдВрддрд┐рдо рд▓реЗрдХрд┐рди рдХрдо рд╕реЗ рдХрдо, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╕реАрдзреЗ рд╕рд░реНрд╡рд░ рдкрд░ рддреИрдирд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рддреИрдирд╛рддреА рдХрд╛рд░реНрдп рдореЗрдВ рдпреБрджреНрдз рд╕рдВрдкрддреНрддрд┐ рдХреЗрд╡рд▓ рдЗрдВрдЧрд┐рдд рдХрд░рддреА рд╣реИ рдХрд┐ рдирдИ рдпреБрджреНрдз рдлрд╝рд╛рдЗрд▓ рдХрд╣рд╛рдВ рд╕реНрдерд┐рдд рд╣реИред

рдЕрдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд╛рд░реНрдп рдореЗрдВ, рдЬреИрд╕рд╛ рдХрд┐ рддреИрдирд╛рддреА рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдЯреЙрдордХреИрдЯ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рдЪреЗрдХ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЖрдк рдПрдВрдЯреА рдЕрдирдкреНрд▓реЙрдп рдХрдорд╛рдВрдб рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХреЗрдВред

рдирддреАрдЬрддрди, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рд╕рдм рдХреБрдЫ рдПрдХ рдХрдорд╛рдВрдб - рдЪреАрдВрдЯреА рддреИрдирд╛рдд рджреНрд╡рд╛рд░рд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдлрд┐рд░ рдЖрдк 1-2 рдорд┐рдирдЯ рдХреЗ рд▓рд┐рдП рд╡рд┐рдЪрд▓рд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ - рдЪреАрдВрдЯреА рдЦреБрдж рд╕рдм рдХреБрдЫ рдХрд░реЗрдЧреАред рд╡рд┐рд╢реБрджреНрдз рд░реВрдк рд╕реЗ, рдЕрд╕реЗрдВрдмрд▓реА рдФрд░ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХрд╛ рд╕рдордп рдПрдХ рд╣реА рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдмрдЪрдд "рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдФрд░ рдХрдИ рдЯреАрдореЛрдВ рдиреЗ рдкреНрд░рддреНрдпреЗрдХ рддреИрдирд╛рддреА рд╕реЗ 1-1.5 рдорд┐рдирдЯ рдХреА рд░рд╛рд╢рд┐ рдкреНрд░рд╛рдкреНрдд рдХреАред 20-30 рдЕрддрд┐рд░рд┐рдХреНрдд рдорд┐рдирдЯреЛрдВ рдореЗрдВ рдПрдХ рджрд┐рди рдореЗрдВ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдХреНрдпрд╛ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ: рдПрдХ рдХрдорд╛рдВрдб рдХреА рдорджрдж рд╕реЗ рддреИрдирд╛рддреА рдХреА рдЬрд╛рддреА рд╣реИ рдФрд░ рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рдЕрд░реНрдерд╛рддреН рдЕрд╕реЗрдВрдмрд▓реА рдФрд░ рддреИрдирд╛рддреА рдХреЗ рджреМрд░рд╛рди, рдЖрдк рдереЛрдбрд╝рд╛ рд╡рд┐рдЪрд▓рд┐рдд рдФрд░ рдЖрд░рд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

Source: https://habr.com/ru/post/In134568/


All Articles