Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

5 Reasons Why Maven Sux

2 490 vues

Publié le

5 Reasons Why Maven Sux
JavaOne CommunityOne 2008
http://www.carlossanchez.eu/

Publié dans : Technologie, Business
  • i agree at all its very complex to setup maven.
       Répondre 
    Voulez-vous vraiment ?  Oui  Non
    Votre message apparaîtra ici

5 Reasons Why Maven Sux

  1. 1. <ul><ul><li>5 Reasons Why </li></ul></ul><ul><ul><li>Maven Sux </li></ul></ul><ul><ul><li>Carlos Sanchez </li></ul></ul><ul><ul><li>CommunityOne @ JavaOne </li></ul></ul><ul><ul><li>May 5, 2008 </li></ul></ul>
  2. 2. About Me <ul><ul><li>During the day </li></ul></ul><ul><ul><li>Director at Exist Global </li></ul></ul><ul><ul><li>At night </li></ul></ul><ul><ul><li>Member of Apache Maven PMC </li></ul></ul><ul><ul><li>Committer at the Eclipse Foundation </li></ul></ul>
  3. 3. #1 Losing control
  4. 4. <project> <modelVersion> 4.0.0 </modelVersion> <groupId> org.acme </groupId> <artifactId> acmeapp </artifactId> <version> 1.0-SNAPSHOT </version> <dependencies> <dependency> <groupId> org.hibernate </groupId> <artifactId> hibernate </artifactId> <version> 3.2.6.ga </version> </dependency> <dependency> <groupId> junit </groupId> <artifactId> junit </artifactId> <version> 3.8.1 </version> <scope> test </scope> </dependency> </dependencies> </project>
  5. 5. section .text global _start ;must be declared for linker (ld) _start: ;tell linker entry point mov edx,len ;message length mov ecx,msg ;message to write mov ebx,1 ;file descriptor (stdout) mov eax,4 ;system call number (sys_write) int 0x80 ;call kernel mov eax,1 ;system call number (sys_exit) int 0x80 ;call kernel section .data msg db 'Hello, world!',0xa ;our dear string len equ $ - msg ;length of our dear string
  6. 6. #2 Repository madness
  7. 7. <project> <modelVersion> 4.0.0 </modelVersion> <groupId> org.acme </groupId> <artifactId> acmeapp </artifactId> <version> 1.0-SNAPSHOT </version> <dependencies> <dependency> <groupId> org.hibernate </groupId> <artifactId> hibernate </artifactId> <version> 3.2.6.ga 3.2.7 </version> </dependency> <dependency> <groupId> junit </groupId> <artifactId> junit </artifactId> <version> 3.8.1 </version> <scope> test </scope> </dependency> </dependencies> </project>
  8. 9. myproject/lib hibernate.jar myotherproject/lib hibernate.jar
  9. 10. upgrading is so easy
  10. 11. productivity!
  11. 12. Oh, you forgot ASM or CGLIB or
  12. 13. #3 Snapshot downloads
  13. 14. <project> <modelVersion> 4.0.0 </modelVersion> <groupId> org.acme </groupId> <artifactId> acmeapp </artifactId> <version> 1.0-SNAPSHOT </version> <dependencies> <dependency> <groupId> org.acme </groupId> <artifactId> mylib </artifactId> <version> 1.0-SNAPSHOT </version> </dependency> </dependencies> </project>
  14. 15. Build mylib.jar
  15. 16. Send mylib.jar by email
  16. 17. Receive mylib.jar
  17. 18. Copy mylib.jar to myproject/lib
  18. 19. Copy mylib.jar to myotherproject/lib
  19. 20. Fix a bug ... shit happens
  20. 21. Build mylib.jar ... don't use versions, waste of time
  21. 22. Send mylib.jar by email
  22. 23. Receive mylib.jar
  23. 24. Copy mylib.jar to myproject/lib
  24. 26. you screwed mylib myotherproject doesn't work
  25. 27. #4 Reports
  26. 28. mvn checkstyle:checkstyle
  27. 29. New things to worry about
  28. 30. Real men write perfect code
  29. 31. any resemblance to existing persons is based on experience
  30. 32. Thanks <ul><li>[email_address] </li></ul><ul><ul><li>http://www.carlossanchez.eu </li></ul></ul>
  31. 33. Credits Matrix code : David Asch That was easy! : spackletoe Caution: Ice Fall Hazard : Jeff Wilcox Smiling Girl : Dey Gay Pride : Boss Tweed Magic! : Kaptain Kobold

×