SlideShare a Scribd company logo
Email   lcycenter@gmail.com
}    Maven2
}    Maven2
}    Maven2
}    Maven2
      ◦ 
      ◦ 
      ◦ 
      ◦ 
      ◦ 
}         Maven2
      ◦  Maven2
      ◦  Maven2     Ant
      ◦  Maven2           Ant
} 
      ◦ 
      ◦ 
      ◦          Eclipse/Netbean/IntelliJ IDEA/…
      ◦                 maven
} 
      ◦ 
           –     ->     ->   ->        ->
      ◦  ANT
      ◦      ANT
      ◦ 
           –  Tomcat/Jetty
           – 
           – 
} 
}         &
      ◦     JAR
      ◦ 
} 
      ◦    IDE
      ◦ 
Maven2交流
Maven2交流
Maven2交流
} 
} 
} 

} 
}    (Goals)
}    (archetype)
groupId:artifactId:packaging:version
pom.xml
Project1

           pom.xml



Project2

            pom.xml




Project3
}               public / private / locale / …
}    Maven
      ◦            (POM.xml + JAR/WAR)
      ◦             Maven
      ◦  /<groupId>/<artifactId>/<version>/<artifactId>-
         <version>.<packaging>
       –  org.apache.commons:commons-email:1.1
       –  /org/apache/commons/commons-email/1.1/
}    mvn install
}    Maven
      ◦  http://repository.sonatype.org/index.html
      ◦  http://www.mvnbrowser.com/
      ◦  http://www.mvnrepository.com/
<dependencies>
 <dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>3.8.1</version>
  <scope>test</scope>
 </dependency>                     Scope
</dependencies>                    • compile
                                   • provided
}                                 • test
}               JAR               • runtime
                                   • system
Maven2交流
validate                  validate the project is correct and all necessary information is
                          available.
generate-sources          generate any source code for inclusion in compilation

process-sources           process the source code, for example to filter any values

generate-resources        generate resources for inclusion in the package.

process-resources         copy and process the resources into the destination directory,
                          ready for packaging.
compile                   compile the source code of the project.

process-classes           post-process the generated files from compilation, for
                          example to do bytecode enhancement on Java classes.
generate-test-sources     generate any test source code for inclusion in compilation

process-test-sources      process the test source code, for example to filter any values.

generate-test-resources   create resources for testing.
process-test-           copy and process the resources into the test destination directory.
resources
test-compile            compile the test source code into the test destination directory

test                    run tests using a suitable unit testing framework. These tests
                        should not require the code be packaged or deployed
package                 take the compiled code and package it in its distributable format,
                        such as a JAR.
pre-integration-test    perform actions required before integration tests are executed. This
                        may involve things such as setting up the required environment.
integration-test        process and deploy the package if necessary into an environment
                        where integration tests can be run.
post-integration-test   perform actions required after integration tests have been executed.
                        This may including cleaning up the environment
verify                  run any checks to verify the package is valid and meets quality
                        criteria.
install                 install the package into the local repository, for use as a
                        dependency in other projects locally.
deploy                  done in an integration or release environment, copies the final
                        package to the remote repository for sharing with other developers
                        and projects.
} 
}    Maven =   +
} 

} 




                $mvn jar:jar
                $mvn archetype:create …
Maven2交流
}  mvn compile
}  mvn clean
}  mvn test

}  mvn package
}  mvn install

}  Mvn jetty:run
}  mvn javadoc:javadoc
}  mvn site

}  …
}    Maven2
}    Maven2
}    Maven2
}         Maven   apache-maven-2.1.0-bin.zip
}    2.
        %DEV_HOME%tools
}  3.            M2_HOME %DEV_HOME%
    toolsapache-maven-2.1.0
}  4.            M2: %M2_HOME%bin
}  5.  %M2%       Path
}  6.     CMD          c:mvn --version
}    Maven2
}    Maven2
}    Maven2
}       Builds
}       Documentation
}    Reporting
}       Dependencies
}       SCMs
}       Releases
}    Maven2
      ◦  EAR
      ◦  WAR
      ◦  JAR
      ◦  ZIP
      ◦  EJB
} 
}    mvn archetype:create -
      DgroupId=com.mycompany.ap -
      DartifactId=my-app
      ◦ 
           –  -DgroupId=
           –  -DartifactId=
Maven2交流
src/main/java        Application/Library sources
src/main/resources   Application/Library resources
src/main/webapps     Web application sources
src/test/java        Test sources
src/test/resources   Test resources
src/site             Site
LICENSE.txt          Project's license
README.txt           Project's readme
} 
}    Maven2

} 
} 
}                    ebiz-app
}        Java Package      com.xxxx.ebiz
} 
      ◦  app-util(jar):
      ◦  app-dao(jar): model / dao / ibatis
      ◦  app-web-common(jar)
      ◦  app-web-portal(war):
      ◦  app-web-console(war):
Maven2交流
}        Plugin    m2eclipse
} 
      ◦ 
      ◦  Coding
      ◦  mvn test
      ◦  mvn jetty:run
      ◦  Code Checkin
      ◦  mvn package
      ◦  mvn install
Maven2交流
}  mvn   compile
}  mvn   test
}  mvn   package
}  mvn   install
}  mvn   jetty:run

More Related Content

PDF
[Image Results] Java Build Tools: Part 2 - A Decision Maker's Guide Compariso...
PPT
An introduction to maven gradle and sbt
PDF
Gradle Introduction
PDF
Jenkins 2.0 最新事情 〜Make Jenkins Great Again〜
PDF
Antons Kranga Building Agile Infrastructures
PDF
Gradle 3.0: Unleash the Daemon!
PDF
Simple Build Tool
PPT
Continuos integration for iOS projects
[Image Results] Java Build Tools: Part 2 - A Decision Maker's Guide Compariso...
An introduction to maven gradle and sbt
Gradle Introduction
Jenkins 2.0 最新事情 〜Make Jenkins Great Again〜
Antons Kranga Building Agile Infrastructures
Gradle 3.0: Unleash the Daemon!
Simple Build Tool
Continuos integration for iOS projects

What's hot (19)

PDF
Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...
PDF
jbang: Unleash the power of Java for shell scripting
PDF
SBT Crash Course
PPTX
Automated Infrastructure Testing
PDF
Continuous Delivery in Enterprise Environments using Docker, Ansible and Jenkins
PDF
Ship your Scala code often and easy with Docker
ODP
Jabox presentation
PDF
Continous delivery with sbt
PDF
Building scala with bazel
PPTX
How to push to production a project with 100+ plugins in less than 10 minutes
PDF
Gradle in 45min
PDF
Jazoon12 355 aleksandra_gavrilovska-1
PDF
Jenkins Pipelines
PDF
Jenkins and Groovy
PDF
JavaOne 2016 - Pipeline as code
PDF
Testing the Enterprise layers, with Arquillian
PDF
Containerizing a Web Application with Vue.js and Java
PDF
Continuous Delivery with Maven, Puppet and Tomcat - ApacheCon NA 2013
PPTX
Jenkins days workshop pipelines - Eric Long
Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...
jbang: Unleash the power of Java for shell scripting
SBT Crash Course
Automated Infrastructure Testing
Continuous Delivery in Enterprise Environments using Docker, Ansible and Jenkins
Ship your Scala code often and easy with Docker
Jabox presentation
Continous delivery with sbt
Building scala with bazel
How to push to production a project with 100+ plugins in less than 10 minutes
Gradle in 45min
Jazoon12 355 aleksandra_gavrilovska-1
Jenkins Pipelines
Jenkins and Groovy
JavaOne 2016 - Pipeline as code
Testing the Enterprise layers, with Arquillian
Containerizing a Web Application with Vue.js and Java
Continuous Delivery with Maven, Puppet and Tomcat - ApacheCon NA 2013
Jenkins days workshop pipelines - Eric Long
Ad

Viewers also liked (8)

PPTX
Minäkö johtajaksi
PPT
Television digital-12131
PPS
Web 2.0
PPS
Viena 2184
PDF
10 Insightful Quotes On Designing A Better Customer Experience
PDF
SEO: Getting Personal
PDF
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
PPTX
How to Build a Dynamic Social Media Plan
Minäkö johtajaksi
Television digital-12131
Web 2.0
Viena 2184
10 Insightful Quotes On Designing A Better Customer Experience
SEO: Getting Personal
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
How to Build a Dynamic Social Media Plan
Ad

Similar to Maven2交流 (20)

PDF
Maven 3 Overview
PPT
Java Build Tools
PPTX
Apache Maven
PDF
Apache Maven - eXo TN presentation
PDF
Lorraine JUG (1st June, 2010) - Maven
KEY
4 maven junit
PDF
Hands On with Maven
PPTX
Apache maven 2 overview
PDF
Riviera JUG (20th April, 2010) - Maven
PDF
Lausanne Jug (08th April, 2010) - Maven
PPTX
Apache Maven 2 Part 2
PDF
Ant, Maven and Jenkins
PDF
Alpes Jug (29th March, 2010) - Apache Maven
PDF
Geneva Jug (30th March, 2010) - Maven
PDF
Apache Maven at GenevaJUG by Arnaud Héritier
PDF
Practical maven-slides 2
PPTX
PDF
Java, Eclipse, Maven & JSF tutorial
PDF
Project Build With Maven
PDF
Intelligent Projects with Maven - DevFest Istanbul
Maven 3 Overview
Java Build Tools
Apache Maven
Apache Maven - eXo TN presentation
Lorraine JUG (1st June, 2010) - Maven
4 maven junit
Hands On with Maven
Apache maven 2 overview
Riviera JUG (20th April, 2010) - Maven
Lausanne Jug (08th April, 2010) - Maven
Apache Maven 2 Part 2
Ant, Maven and Jenkins
Alpes Jug (29th March, 2010) - Apache Maven
Geneva Jug (30th March, 2010) - Maven
Apache Maven at GenevaJUG by Arnaud Héritier
Practical maven-slides 2
Java, Eclipse, Maven & JSF tutorial
Project Build With Maven
Intelligent Projects with Maven - DevFest Istanbul

Maven2交流

  • 1. Email lcycenter@gmail.com
  • 2. }  Maven2 }  Maven2 }  Maven2
  • 3. }  Maven2 ◦  ◦  ◦  ◦  ◦  }  Maven2 ◦  Maven2 ◦  Maven2 Ant ◦  Maven2 Ant
  • 4. }  ◦  ◦  ◦  Eclipse/Netbean/IntelliJ IDEA/… ◦  maven }  ◦  –  -> -> -> -> ◦  ANT ◦  ANT ◦  –  Tomcat/Jetty –  –  } 
  • 5. }  & ◦  JAR ◦  }  ◦  IDE ◦ 
  • 9. }  }  }  }  }  (Goals) }  (archetype)
  • 11. pom.xml Project1 pom.xml Project2 pom.xml Project3
  • 12. }  public / private / locale / … }  Maven ◦  (POM.xml + JAR/WAR) ◦  Maven ◦  /<groupId>/<artifactId>/<version>/<artifactId>- <version>.<packaging> –  org.apache.commons:commons-email:1.1 –  /org/apache/commons/commons-email/1.1/ }  mvn install }  Maven ◦  http://repository.sonatype.org/index.html ◦  http://www.mvnbrowser.com/ ◦  http://www.mvnrepository.com/
  • 13. <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> Scope </dependencies> • compile • provided }  • test }  JAR • runtime • system
  • 15. validate validate the project is correct and all necessary information is available. generate-sources generate any source code for inclusion in compilation process-sources process the source code, for example to filter any values generate-resources generate resources for inclusion in the package. process-resources copy and process the resources into the destination directory, ready for packaging. compile compile the source code of the project. process-classes post-process the generated files from compilation, for example to do bytecode enhancement on Java classes. generate-test-sources generate any test source code for inclusion in compilation process-test-sources process the test source code, for example to filter any values. generate-test-resources create resources for testing.
  • 16. process-test- copy and process the resources into the test destination directory. resources test-compile compile the test source code into the test destination directory test run tests using a suitable unit testing framework. These tests should not require the code be packaged or deployed package take the compiled code and package it in its distributable format, such as a JAR. pre-integration-test perform actions required before integration tests are executed. This may involve things such as setting up the required environment. integration-test process and deploy the package if necessary into an environment where integration tests can be run. post-integration-test perform actions required after integration tests have been executed. This may including cleaning up the environment verify run any checks to verify the package is valid and meets quality criteria. install install the package into the local repository, for use as a dependency in other projects locally. deploy done in an integration or release environment, copies the final package to the remote repository for sharing with other developers and projects.
  • 17. }  }  Maven = + }  }  $mvn jar:jar $mvn archetype:create …
  • 19. }  mvn compile }  mvn clean }  mvn test }  mvn package }  mvn install }  Mvn jetty:run }  mvn javadoc:javadoc }  mvn site }  …
  • 20. }  Maven2 }  Maven2 }  Maven2
  • 21. }  Maven apache-maven-2.1.0-bin.zip }  2. %DEV_HOME%tools }  3. M2_HOME %DEV_HOME% toolsapache-maven-2.1.0 }  4. M2: %M2_HOME%bin }  5. %M2% Path }  6. CMD c:mvn --version
  • 22. }  Maven2 }  Maven2 }  Maven2
  • 23. }  Builds }  Documentation }  Reporting }  Dependencies }  SCMs }  Releases
  • 24. }  Maven2 ◦  EAR ◦  WAR ◦  JAR ◦  ZIP ◦  EJB
  • 25. }  }  mvn archetype:create - DgroupId=com.mycompany.ap - DartifactId=my-app ◦  –  -DgroupId= –  -DartifactId=
  • 27. src/main/java Application/Library sources src/main/resources Application/Library resources src/main/webapps Web application sources src/test/java Test sources src/test/resources Test resources src/site Site LICENSE.txt Project's license README.txt Project's readme
  • 28. }  }  Maven2 }  } 
  • 29. }  ebiz-app }  Java Package com.xxxx.ebiz }  ◦  app-util(jar): ◦  app-dao(jar): model / dao / ibatis ◦  app-web-common(jar) ◦  app-web-portal(war): ◦  app-web-console(war):
  • 31. }  Plugin m2eclipse }  ◦  ◦  Coding ◦  mvn test ◦  mvn jetty:run ◦  Code Checkin ◦  mvn package ◦  mvn install
  • 33. }  mvn compile }  mvn test }  mvn package }  mvn install }  mvn jetty:run