Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
dev:maven [2025/10/30 13:48]
tomas created
dev:maven [2026/05/13 18:04] (current)
tomas [souborová struktura]
Line 2: Line 2:
 Maven je buildovací nástroj, který pracuje s [[https://maven.apache.org/guides/introduction/introduction-to-the-pom.html|pom.xml]] souborem, který definuje informace o produktu - název produktu, závislosti atd. Maven je buildovací nástroj, který pracuje s [[https://maven.apache.org/guides/introduction/introduction-to-the-pom.html|pom.xml]] souborem, který definuje informace o produktu - název produktu, závislosti atd.
  
 +
 +==== Odkazy ====
 [[https://maven.apache.org/guides/getting-started/maven-in-five-minutes.html]] ... maven za 5 minut - pěkný úvod\\ [[https://maven.apache.org/guides/getting-started/maven-in-five-minutes.html]] ... maven za 5 minut - pěkný úvod\\
 +[[https://maven.apache.org/plugins/index.html|pluginy]]\\
  
-=== Pluginy === +==== souborová struktura ==== 
-https://maven.apache.org/plugins/index.html+~/.m2/settings.xml ... společná nastavení pro všechny projekty, typicky hesla, cesty k repozitářům, [[https://maven.apache.org/guides/introduction/introduction-to-profiles.html|profily]] atd\\ 
 +~/.m2/[[https://maven.apache.org/guides/mini/guide-encryption.html|settings-security.xml]] ... heslo na šifrování hesel v settings.xml\\ 
 +~/.m2/repository ... cache stažených knihoven\\ 
 +pom.xml ... project object model - soubor v projektu, který definuje název balíčku, verzi, závislosti atd.\\
  
 ==== Syntaxe ==== ==== Syntaxe ====
-mvn --version ... verze Mavenu\\ +mvn -... verze Mavenu\\ 
-mvn [[https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html|mezerou_oddělené_fáze]] [[https://maven.apache.org/ref/3.9.11/maven-embedder/cli.html|přepínače]] +mvn [[https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html|mezerou_oddělené_fáze/pluginy]] [[https://maven.apache.org/ref/3.9.11/maven-embedder/cli.html|přepínače]] 
 + 
 +==== Přepínače ==== 
 +-DskipTests ... nebude dělat testy kódu, -D nastavuje systémové pproměnné Mavenu\\ 
 +-Dmaven.test.skip=true ... to samé\\ 
 +-Daether.connector.https.securityMode=insecure ... nekontroluje TLS certifikáty pro stahování artefaktů\\ 
 +-T 4 ... builduje ve 4 vláknech\\ 
 +-X ... debug mód, vypisuje hodně informací o tom, co dělá\\ 
 +-s ~/.m2/settings.jine.xml ... použití jiného settings.xml s kredencema\\
  
 ==== Příklady ==== ==== Příklady ====
-mvn deploy:deploy-file -DgroupId=cz.lipensky.spotless \ +mvn help:active-profiles ... informace o aktivních profilech\\ 
-    -DartifactId=spotless-eclipseformat\ +mvn help:active-profiles -P-dev,prod ... to samé, jen se deaktivuje profil dev a aktivuje profil prod\\ 
-    -Dversion=1.0.0 \ +mvn help:all-profiles ... seznam všech profilů\\ 
-    -Dpackaging=xml \ +mvn dependency:tree -X ... seznam závislostí\\ 
-    -Dfile=spotless.eclipseformat.xml \ +mvn -help ... help\\ 
-    -DgeneratePom=true \ +mvn help:evaluate -Dexpression=project.version -q -DforceStdout ... ukáže aktuální verzi projektu z pom.xml\\ 
-    -DrepositoryId=maven-java-releases \ + 
-    -Durl=https://nexus.server/repository/maven-java-releases/ ... release do repozitáře z paramentrové řádky\\+mvn deploy:deploy-file -Durl=https://maven.corp.com/repo -DrepositoryId=my.server -Dfile=your-artifact-1.0.jar ... nahraje soubor do repozitáře\\ 
 +mvn deploy:deploy-file -Durl=https://maven.corp.com/repo -DrepositoryId=my.server -Dfile=your-artifact-1.0.jar -Daether.connector.https.securityMode=insecure ... nekontroluje certifikáty\\ 
 +mvn deploy -DskipTests -DaltReleaseDeploymentRepository="jfrog::default::https://www.jfrog.io/artifactory/release" -DaltSnapshotDeploymentRepository="jfrog::default::https://www.jfrog.io/artifactory/snapshot" ... vyreleasování do jiného repozitáře, než je uvedeno v pom.xml\\ 
 + 
 +mvn deploy:deploy-file -DgroupId=cz.lipensky.spotless  
 +-DartifactId=spotless-eclipseformat 
 +-Dversion=1.0.0 
 +-Dpackaging=xml 
 +-Dfile=spotless.eclipseformat.xml 
 +-DgeneratePom=true 
 +-DrepositoryId=maven-java-releases  
 +-Durl=https://nexus.server/repository/maven-java-releases/ ... release do repozitáře z paramentrové řádky, -D jsou proměnné\\