Maven学习(四)————Eclipse 中的 Maven 工程

引言

创建一个 Maven 版 Hello World。

一、Eclipse 中 Maven 插件的准备工作

除了 JDK 和必须的 Eclipse 之外,还需要在 Eclipse 中设置Maven 相关的信息。这里有最重要的两项 maven 配置:

1.1 Maven Installations

说明:该项设置是指定 Eclipse 需要启动  Maven 程序,Eclipse 有内嵌的 Maven 插件工具,因此有些时候,即便你没有在本地安装 maven ,也依然可以在 Eclipse 完成 Maven 的相关操作。但一般认为内置的 Maven 启动插件不稳定,所以企业中建议指定为自己安装的 Maven。但要注意,当 Eclipse 变换了工作区后,需要重新 设置Maven插件。

1、打开 Window 首选项,设置 Maven Installations:

2、点击 【Apply】按钮,或 【Apply and Close】应用并退出。

1.2 User Settings

说明:此项配置主要是为了指定 conf/settings.xml 的位置,进而可以找到本地仓库的位置。下图路径都是默认配置,建议不要修改,不过也可以根据磁盘大小变换路径。

二、Eclipse 中的Maven 工程

在 Eclipse 中操作 Maven 工程主要为了解决三个问题:

1、创建 Maven 版 Java 工程

2、创建 Maven 版 Web 工程

3、执行 Maven 命令

2.1 创建 Maven Java Project

首先在 Package 视图中新建 Maven Project:

注意:在下图中,必须勾选 "Create a simple project (skip archetype selection)"  复选框,否则将无法生成理想的 Maven 项目结构。

填写必要的 Maven 信息(GAV)然后点击 【Finish】即可完成 Maven 版 Java 工程的创建。

2.2 在 Eclipse 中执行 Maven 命令

在 Eclipse 中执行 Maven 命令非常简单,可以在项目右键(或 pom 文件上 右键)执行 “Run As” :

点击 2 Maven build... 可以填写希望执行的 maven 指令,如:

点击 Run 查看控制台执行结果:

【额外补充】  在前面的文章中,我们已经了解过了 Maven 的声明周期、目标(Goal)、以及命令的书写方式,在 Eclipse 中,实际上也是类似的,在上面的执行计划配置会话框中的 Goal 一栏尤为明显。我们不仅可以在 Goal 中填入 compile 执行 编译目标,还可以执行多组 Maven 命令,如 clean install ,并且,Eclipse 会保存“执行计划”,方便下次使用:

上图的 ${project_loc} 实际上可以在输入框的右下侧 “Variables...” 中找到,代表项目定位,具体这个表达式究竟是 Eclipse 自带的隐含变量还是 Maven 的变量目前我还没搞明白(如果有知道的小伙伴希望文末留言,或者提醒一下查询的关键字如:“Eclipse 变量”)。

2.3 Maven Web Project

创建 web 工程和 java 工程类似,且都需要勾选"Create a simple project (skip archetype selection)" 复选框。

不过在打包方式上, web 工程需要选择 war包

生成的 web 工程 由于本身目录结构不符合以往动态web 工程的目录结构,所以需要进一步进行转化,但是由于目前在 STS上找不到 Dynamic Web Project 的选项了(只有静态web 工程,目前还不是很了解两者的区别和联系),所以暂时了解到这里。

 

附录A:Maven 项目的 jdk 版本问题

在创建完 Maven Java Project 之后,可能会遇到这样的问题。刚刚创建的项目中的 JRE System Library 是 JavaSE-1.7 或者 更低。

这个问题可以通过修改项目的 JDK依赖版本来解决:

解决方法一:

首先右键项目,选择Properties 属性,并依次修改 "Java Build Path" 和 "Java Compile"(都比较简单):

 

解决方法二:

第二种解决方法是一劳永逸的办法——在首选项的Maven User Settings 所指向的User Setting 文件 settings.xml 中配置 JDK 的使用版本。后续即可保持统一的 JDK 版本,一劳永逸:

<profiles><!-- 配置 maven 的 JDK 版本--><profile><id>jdk-1.8</id><activation><activeByDefault>true</activeByDefault><jdk>1.8</jdk></activation><properties><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target><maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion></properties></profile>
</profiles>

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/558778.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构与算法————稀疏数组

引言 数据压缩方面&#xff0c;我们往往可以通过稀疏数组来保存有效数据&#xff0c;节省存储空间。 一、稀疏数组的概念 当一个数组中大部分元素是0&#xff0c;或为同一个值的时候&#xff0c;可以使用稀疏数组来保存数组。 它是一个十分有效的存储结构&#xff0c;便于节…

Linux进阶之路————crond定时任务调度

引言 crond 的概念和 crontab 是不可分割的。crontab 是一个命令&#xff0c;而 crond 是Linux 下用来周期性执行某种任务或等待处理某些事件的守护进程&#xff0c;类似于 Windows 下的计划任务。 当装完操作系统之后&#xff0c;默认便会安装 crond 服务工具&#xff0c;并…

Maven配置_01

1 下载相应的Maven--->地址:http://maven.apache.org/download.cgi 2 将下载的压缩包解压到自己指定的文件夹 C:\OS\apache-maven-3.5.2 3 配置环境变量 3.1 此电脑-->鼠标右键-->属性-->高级系统设置-->环境变量 3.2 用户变量或者系统变量中选择 新建 输入…

Linux进阶之路————Linux磁盘分区与挂载

引言 对于Linux来说&#xff0c;无论有几个分区&#xff0c;分给哪一目录使用&#xff0c;它归根结底就只有一个根目录 / &#xff0c;一个独立且唯一的文件结构&#xff0c;Linux 中每个分区都是用来组成整个文件系统的一部分。 Linux采用一种叫“载入”的处理方法&#xff…

Spring jndi连接数据库

Spring jndi连接数据库JNDI 即Java命名目录接口 Java Naming Dictory Interface Spring.xml配置文件 <bean name"dbsource1" class"org.springframework.jdbc.core.JdbcTemplate"><property name"jndi" value"java:comp/env/jdbc/…

Maven学习(五)————依赖的特性辨析

引言 在Maven 中&#xff0c;依赖有一些特性必须我们掌握&#xff0c;如依赖的传递性。 一、依赖的传递性 其实依赖的传递性非常好理解。 上图&#xff0c;如果 Maven 项目 B 已经依赖了 C &#xff0c;A 又依赖了 B&#xff0c;那么 A 不需要再在自己的pom 中重复引入 C 的…

ZXing生成二维码

pom.xml <!-- https://mvnrepository.com/artifact/com.google.zxing/core --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.3.2</version></dependency> ​ ​<!-- ht…

Java NIO————NIO 简介

引言 Java NIO (New IO&#xff0c;或Non Blocking IO) 是从Java1.4 版本开始引入的一个新的 IO API&#xff0c;可以代替标准的Java IO API。 NIO与原来的IO有同样的作用和目的&#xff0c;但是使用的方式完全不同。 NIO支持面向缓冲区、基于通道的IO操作。NIO将以更加高效…

MySql主从同步最小配置

MySql主从同步最小配置 MySql配置文件配置window: my.ini centos: my.cnf主数据库配置 #配置数据库的唯一标识符,一般1位主库,从库为ip地址最后一位 server-id 1 #启用二进制日志,对应mysql-bin.xxxxx文件 log-bin mysql-bin #需要同步的数据库名 binlog-do-dbtest1 #不需要…

解决pom文件第一行报错(unknown)-亲测有效

原文链接&#xff1a;https://blog.csdn.net/u010947534/article/details/93743582 问题&#xff1a; Eclipse导入maven项目时&#xff0c;或者新建一个springboot项目时&#xff0c;pom.xml文件第一行报错&#xff0c;没有错误信息提示&#xff0c;就一个Unknown&#xff0c…

Oracle中start with xx connect by prior 语句解析

Oracle中start with xx connect by prior 语句解析 ​ Oracle这种的start with语句主要对B型树的数据进行递归查询.可以指定数据树上的任一节点,然后查找到它所有的子节点或者父节点. ​ 现在有如下图的数据: 我们先想数据库插入数据,这里用到oracle的批量插入写法# 1 建表 CRE…

Spring Boot————Profile配置

引言 Spring Boot 的Profile配置&#xff0c;可以极大简化配置难度&#xff0c;可以有多种配置形式&#xff0c;根据位置有不同的生效方式。 探讨问题 Spring Boot 的 Profile 配置是为了解决不同环境可能存在的多种配置问题。 举例来说明的话&#xff0c;就是当我们开发完…

Enum的简单使用

package cn.silica.vo;/*** author laibaocen*/ public enum Separator {/*** 枚举值 大写* 如果只有枚举值,那么最后一个枚举值后可以不加分号*/SEMICOLON(0,";","分号"),COLON(1,":","冒号"),CONNECTIVE (2,"-","破折…

Java NIO ———— Buffer 缓冲区详解

引言 缓冲区是一个用于特定基本类型的容器。由java.nio 包定义&#xff0c;所有缓冲区都是 Buffer 抽象类的子类。 Java NIO 中的 Buffer &#xff0c;主要用于与NIO 通道进行交互。数据从通道存入缓冲区&#xff0c;从缓冲区取出到通道中。 一、创建缓冲区 缓冲区的本质是 …

基本类型理解巩固及补码原理总结

引言 本篇文章属于计算机基础通识&#xff0c;主要讨论&#xff1a;有符号类型、无符号类型的区别&#xff0c;byte、int 等类型的取值范围&#xff0c;最大值最小值的计算公式的由来&#xff0c;原码、反码、补码转换公式。 有符号类型与无符号类型 在 Java 中的八大基本类…

2021年3月15日_读书|总结笔记目录

深入理解Java虚拟机*第三版 慢慢填坑第一部分*自动内存管理 第二部分*虚拟机执行子系统 类文件结构 无关性的基石

LeetCode(#118)————杨辉三角形

问题描述 给定一个非负整数 numRows&#xff0c;生成杨辉三角的前 numRows 行。 在杨辉三角中&#xff0c;每个数是它左上方和右上方的数的和。 示例: 输入: 5 输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1] ] 实现方法 class Solution {public List<List<Intege…

数据结构与算法————九九乘法表

问题描述 通过Java语言实现九九乘法表的输出。使用一个for 循环和两个for循环。 一个for循环 public static void oneFor() {for (int i 1, j 1; i < 9; j) {System.out.print(j "*" i "" i * j "\t");if (j i) {i;j 0;System.ou…

JVM001_类文件结构

无关性的基石 实现语言无关性的基础是虚拟机和字节码存储格式。Java虚拟机不与任何语言绑定&#xff08;包括Java&#xff09;&#xff0c;它只与‘Class文件’这种特定的二进制文件格式所关联。Class文件中包含了Java虚拟机指令集、符号表以及其它辅助信息。出于安全考虑&…

Maven学习(六)————企业Maven项目最佳实践

引言 在《Maven学习&#xff08;三&#xff09;————Maven核心概念&#xff08;二&#xff09;》中&#xff0c;学到了Maven 继承和 Maven 聚合的概念&#xff0c;这两个概念&#xff0c;解决的问题分别是&#xff1a; 1、解决一些公共依赖统一版本的问题。 2、统一打包部署…