Maven总结

Maven目录结构

http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html



maven基本命令

mvn eclipse:eclipse #生成java项目

mvn eclipse:eclipse -Dwtpversion=1.0 #生成web项目

mvn install -DskipTests #跳过测试

mvn install:install-file -DgroupId=cloud-sign-utils -DartifactId=cloud-sign-utils -Dversion=1.0 -Dpackaging=jar -Dfile=cloud-sign-utils.jar #安装某jar包到本地



下载源码和javadoc命令

mvn install -DdownloadSource=true

mvn install -DdownloadSources=true


mvn dependency:sources

mvn dependency:resolve -Dclassifier=javadoc


配置eclipse

Window > Preferences > Maven and checking the "Download Artifact Sources" and "Download Artifact JavaDoc" options



pom.xml模板


<profiles>  

<profile>  

<id>downloadSources</id>  

<properties>  

<downloadSources>true</downloadSources>  

<downloadJavadocs>true</downloadJavadocs>             

</properties>  

</profile>  

</profiles>


<activeProfiles>  

  <activeProfile>downloadSources</activeProfile>  

</activeProfiles>



<!--deploy-->

<distributionManagement>

<repository>

<id>releases</id>

<name>Internal Releases</name>

<url>http://117.122.226.252:8081/nexus/content/repositories/releases/</url>

</repository>

<snapshotRepository>

<id>snapshots</id>

<name>Internal Snapshots</name>

<url>http://117.122.226.252:8081/nexus/content/repositories/snapshots/</url>

</snapshotRepository>

</distributionManagement>  



<build>

<plugins>


<plugin>

<groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-dependency-plugin</artifactId>

<executions>

<execution>

<id>copy</id>

<phase>install</phase>

<goals>

<goal>copy-dependencies</goal>

</goals>

<configuration>

<outputDirectory>

${project.build.directory}/lib

</outputDirectory>

</configuration>

</execution>

</executions>

</plugin>




<plugin>

<groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-surefire-plugin</artifactId>

<configuration>

<skip>true</skip>

</configuration>

</plugin>  

</plugins>

</build>



Maven创建项目脚本

#!/bin/bash

#项目中文名称

#项目英文名


while read line;do

    eval "$line"

done < config


echo $projectNameCn

echo $projectName

# echo $MVN_HOME


#maven-archetype-quickstart (Java Project)

mvn archetype:generate -DgroupId=$projectName'-parent' -DartifactId=$artifactId'-parent' -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false -DarchetypeCatalog=local

# groupId:包名           artifactId:项目名    archetypeArtifactId:项目类型(模板)              interactiveMode:交互模式(默认:true)


# maven-archetype-webapp (Java Web Project)

mvn archetype:generate -DgroupId=$projectName'-app' -DartifactId=$projectName'-app' -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false -DarchetypeCatalog=local


cd $projectName'-parent'

rm -rf src

sed -i "s/<packaging>jar<\/packaging>/<packaging>pom<\/packaging>/g" pom.xml

sed -i '/<dependencies>/i<description>'$projectNameCn'<\/description>' pom.xml

sed -i '/<\/dependencies>/a<modules>\n\t<module>../'$projectName'-app-interface<\/module>\n\t<module>../'$projectName'-app-service<\/module>\n\t<module>../'$projectName'-app<\/module>\n<\/modules>' pom.xml

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容