[技术干货] linux下创建一个maven工程


linux 下创建一个maven工程

第一步:安装jdk

步骤下载OpenJDK安装包。
wget https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u191-b12/OpenJDK8U-jdk_aarch64_linux_hotspot_8u191b12.tar.gz
步骤解压安装包。
tar -zxf OpenJDK8U-jdk_aarch64_linux_hotspot_8u191b12.tar.gz
步骤OpenJDK安装到指定目录,例如安装到“/opt/tools/installed”。
mv jdk8u191-b12 /opt/tools/installed/
步骤配置java环境变量。
1. 打开“/etc/profile”文件。
vi /etc/profile
2. 在“/etc/profile”文件末尾处增加如下代码。
JAVA_HOME=/opt/tools/installed/jdk8u191-b12
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME PATH
3. 修改完成后,按“Esc”键,输入:wq!命令保存退出。
4. 使修改的环境变量生效。
source /etc/profile

步骤5:验证输入java -version


1.png

第二步:安装maven软件和配置maven路径


maven安装:

步骤下载Maven安装包。
wget https://archive.apache.org/dist/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz
步骤解压安装包。
tar -zxf apache-maven-3.5.4-bin.tar.gz
步骤Maven安装到指定目录,例如安装到“/opt/tools/installed”
mv apache-maven-3.5.4 /opt/tools/installed/

步骤配置Maven环境变量。
1.
“/etc/profile”文件末尾增加如下几行。
export  JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export  MAVEN_HOME=/opt/tools/installed/apache-maven-3.5.4
export MAVEN_HOME

export PATH=$MAVEN_HOME/bin:$JAVA_HOME/bin:$PATH
2.
使修改的环境变量生效。
source /etc/profile

3、验证maven安装成功

输入命令:mvn –v


2.png

步骤修改Maven配置文件“/opt/tools/installed/apache-maven-3.5.4/conf/settings.xml”中的本地仓路径、远程仓等。


      配置maven工程中的setting文件(添加鲲鹏的maven)如下:

<profile>

    <id>MyProfile</id>   

    <repositories>

           <repository>

            <id>kunpeng</id>

            <url>https://mirrors.huaweicloud.com/kunpeng/maven</url>

            <releases>

                <enabled>true</enabled>

            </releases>

        </repository>

        <repository>

            <id>HuaweiCloudSDK</id>

            <url>https://mirrors.huaweicloud.com/repository/maven/huaweicloudsdk/</url>

            <releases>

                <enabled>true</enabled>

            </releases>

            <snapshots>

                <enabled>false</enabled>

            </snapshots>

        </repository>         

    </repositories>

</profile>

 <activeProfiles>

    <activeProfile>MyProfile</activeProfile>  

</activeProfiles>

第二步:创建helloworldmaven工程(自动生成,在当前目录会生成一个java工程)

 mvn archetype:generate -DgroupId=helloworld -DartifactId=helloworld

 第三步:修改一下pom.xml文件,添加如下内容

    <build> 

        <plugins> 

            <plugin> 

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

                <artifactId>maven-jar-plugin</artifactId> 

                <version>2.6</version> 

                <configuration> 

                    <archive> 

                        <manifest> 

                            <addClasspath>true</addClasspath> 

                            <classpathPrefix>lib/</classpathPrefix> 

                            <mainClass>helloworld.App</mainClass> 

                        </manifest> 

                    </archive> 

                </configuration> 

            </plugin> 

            <plugin> 

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

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

                <version>2.10</version> 

                <executions> 

                    <execution> 

                        <id>copy-dependencies</id> 

                        <phase>package</phase> 

                        <goals> 

                            <goal>copy-dependencies</goal> 

                        </goals> 

                        <configuration> 

                           <outputDirectory>${project.build.directory}/lib</outputDirectory> 

                        </configuration> 

                    </execution> 

                </executions> 

            </plugin> 

        </plugins> 

</build> 

其中;maven-jar-plugin用于生成META-INF/MANIFEST.MF文件的部分内容,com.xxg.Main指定MANIFEST.MF中的Main-Classtrue会在MANIFEST.MF加上Class-Path项并配置依赖包,lib/指定依赖包所在目录。只是生成MANIFEST.MF文件还不够,maven-dependency-plugin插件用于将依赖包拷贝到${project.build.directory}/lib指定的位置,即lib目录下。

2mvn编译工程,接下来编译并运行Helloworld项目。

进入到工程的pom.xml所在目录下,执行$ mvn clean package

下载的依赖包会保存在~/.m2/repository文件夹中,打开这个文件夹,我们会发现里面的包正是按照坐标的目录结构进行存储的。Maven在依赖一个jar包时会先去本地库查找,如果没找到就会从网上下载。当然,并不是所有的包都能从网上下载到,比如我们自己开发的jar包,这时,我们就可以用mvn install命令将一个项目安装到本地仓库。

打包成功后我们会发现项目中多了一个target文件夹,目录结构如下


3.png

可以看到,在package过程中,maven完成了编译、测试代码,生成测试报告,生成jar包等一系列工作。


同时在target目录下生产了一个helloworld-1.0-SNAPSHOT.jar 这个已经集成该工程所有依赖包的jar

mvn package  #把这个工程打包成一个jar

mvn clean    #清除刚刚刚编译出来的target目录的文件

3)运行jar

java –jar target/helloworld-1.0-SNAPSHOT.jar


4.png