怎么用maven编译Java项目

技术怎么用maven编译Java项目这篇文章将为大家详细讲解有关怎么用maven编译Java项目,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。需要时间:15分钟 文本编辑器或者IDE

这篇文章将为大家详细讲解有关怎么用专家编译Java 语言(一种计算机语言,尤用于创建网站)语言(一种计算机语言,尤用于创建网站)项目,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

需要

时间:15分钟文本编辑器或者IDE JDK 6或者更高版本

创建项目

本例主要为了展示马文,所以Java 语言(一种计算机语言,尤用于创建网站)语言(一种计算机语言,尤用于创建网站)的项目力求简单。

创建项目结构

择一个项目目录,在*nix系统上使用下面语句

mkdir -p src/main/java/hello

窗户下使用命令

mkdir src\main\java\hello

创建如下结构:

src 主爪哇你好

在src/main/java/hello目录下创建Java 语言(一种计算机语言,尤用于创建网站)语言(一种计算机语言,尤用于创建网站)文件HelloWorld.java和Greeter.java

src/main/Java/hello/hello world。Java 语言(一种计算机语言,尤用于创建网站)

包你好;公共类hello world { public static void main(String[]args){ Greeter Greeter=new Greeter();系统。出去。println(更大。sayHello());}}

src/main/Java/hello/迎宾员。Java 语言(一种计算机语言,尤用于创建网站)

包你好;公开课迎宾员{公共字符串说Hello(){返回' Hello world!';}}

现在项目完成,可以用专家编译了。有关专家的安装,可以参考Apache Maven 3.1.0安装、部署、使用

定义简单的Maven编译

首先,在项目的根目录下创建一个专家项目定义文件pom.xml,该文件主要是说明项目的名称、版本和依赖库

pom.xml

?可扩展标记语言版本='1.0 '编码='UTF-8 '?项目xmlns=' http://aven。阿帕奇。org/POM/4。0 .0 ' xmlns : xsi=' http://www。w3。org/2001/XMLSchema-instance ' xsi 3360 schema location=' http://aven。阿帕奇。org/POM/4。0 .0 http://aven。阿帕奇。org/maven-v4 _ 0 _ 0。xsd '型号版本4。0 .0

除了包装

元素可选外,其他的元素是构成pom.xml 文件的最基本的元素了。它包括以下几个项目的配置:

<modelVersion> :POM 模块版本(通常是4.0.0).  <groupId> :项目所属的组织编号,通常用域名  <artifactId> 项目的名称(比如,JAR或者WAR的名称)  <version> 项目编译的版本号  <packaging> 项目打包形式,jar或者war

编译Java代码

运行下面语句编译

mvn compile

编译完成的.class文件将会出现在target/classes目录下.如下图

运行项目:

mvn exec:java -Dexec.mainClass="hello.HelloWorld"

输出如下:

如果不想直接运行.class文件,可以将其打包:

mvn package

打包完成后,会在target目录下生成一个JAR文件,文件名由<artifactId> 和 <version>组成。比如本例,将会根据pom.xml生成gs-maven-0.1.0.jar

如果你想安装您的项目的JAR文件到本地Maven仓库,那么你应该调用下面语句:

mvn installmvn install

此时,你的项目代码将会经过编译、测试、打包并拷贝到本地依赖库,提供给其他项目引用。

以上例子源码的地址https://github.com/waylau/maven-demo中的demo1

说到项目依赖,下面说下声明依赖

声明依赖

上面的例子比较简单,没有用到其他库。但是真实的项目可能会引用(依赖)到很多其他库。

下面例子,依赖了Joda Time的库。

修改src/main/java/hello/HelloWorld.java

package hello;import org.joda.time.LocalTime;public class HelloWorld {public static void main(String[] args) {LocalTime currentTime = new LocalTime();System.out.println("The current local time is: " + currentTime);Greeter greeter = new Greeter();System.out.println(greeter.sayHello());}}

现在运行mvn compile将会报错,因为没有声明依赖。在 <project> 节点下插入如下:

<dependencies><dependency><groupId>joda-time</groupId><artifactId>joda-time</artifactId><version>2.2</version></dependency></dependencies>

这段内容就声明了项目的依赖。每个依赖节点<dependency>都由三个子节点组成:

<groupId> : 该依赖库所属的组织名称  <artifactId> : 依赖的库名  <version> : 依赖的库版本

在POM 4中,<dependency> 中还引入了<scope> ,它主要管理依赖的部署。目前<scope> 可以使用5个值:

compile,缺省值,适用于所有阶段,会随着项目一起发布。  provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。  runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。  test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。  system,类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。

现在你运行mvn compile或者mvn package,Maven会自动下载相关依赖。

完整的pom.xml

<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.springframework</groupId><artifactId>gs-maven</artifactId><packaging>jar</packaging><version>0.1.0</version><!-- tag::joda[] --><dependencies><dependency><groupId>joda-time</groupId><artifactId>joda-time</artifactId><version>2.2</version></dependency></dependencies><!-- end::joda[] --><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-shade-plugin</artifactId><version>2.1</version><executions><execution><phase>package</phase><goals><goal>shade</goal></goals><configuration><transformers><transformerimplementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"><mainClass>hello.HelloWorld</mainClass></transformer></transformers></configuration></execution></executions></plugin></plugins></build></project>

运行项目:

mvn exec:java -Dexec.mainClass="hello.HelloWorld"

关于“怎么用maven编译Java项目”这篇文章就分享到这里了,希望

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/137929.html

(0)

相关推荐

  • Mysql索引失效的解决方法

    技术Mysql索引失效的解决方法小编给大家分享一下Mysql索引失效的解决方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!背景6千万数据量的

    攻略 2021年11月2日
  • 怎么理解DB2目录结构

    技术怎么理解DB2目录结构本篇文章为大家展示了怎么理解DB2目录结构,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。DB2目录结构:/instance/NODE0000/SQL00

    攻略 2021年11月23日
  • 怎样挑选实木床,如何选购实木床注意问题有哪些

    技术怎样挑选实木床,如何选购实木床注意问题有哪些实木床和板式床哪个好?这是人们比较关心的问题怎样挑选实木床。目前,市场的床类有多种,有些人喜欢实木床,而有些人则喜欢板式床。其实,二者有很多不同之处,朋友们在购买时,可根据

    生活 2021年10月23日
  • 如何理解PHP命令行选项解析库pflag

    技术如何理解PHP命令行选项解析库pflag这篇文章主要讲解了“如何理解PHP命令行选项解析库pflag”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何理解PHP命令行

    攻略 2021年10月21日
  • 服务器集群容错是什么

    技术服务器集群容错是什么本篇内容主要讲解“服务器集群容错是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“服务器集群容错是什么”吧!集群容错:集群服务调用失败后,服务框架需

    攻略 2021年11月16日
  • 上传附件,请问视频文件能上传附件吗

    技术上传附件,请问视频文件能上传附件吗可以进行压缩后再上传。方法如下上传附件:1、首先将自己需要压缩的视频文件准备好,放置到同一个文件夹中,方便添加文件。
    2、将视频压缩软件安装到自己的电脑中,打开软件找到视频压缩,点击

    生活 2021年10月25日