maven报错Missing artifact jdk.tools:jdk.tools:jar:1.8解决方案

来源:互联网 发布:网站美工学那些软件 编辑:程序博客网 时间:2024/06/06 00:52

在eclipse中,遇到了Missing artifact jdk.tools:jdk.tools:jar:1.8。其他也没有报错,感到很奇怪。

这里写图片描述

原因:tools.jar包是JDK自带的,pom.xml中以来的包隐式依赖tools.jar包,而tools.jar并未在库中,

只需要将tools.jar包添加到jdk库中即可。

解决方案:在pom文件中添加如下代码即可。

    <dependency>            <groupId>jdk.tools</groupId>            <artifactId>jdk.tools</artifactId>            <version>1.8</version>            <scope>system</scope>            <systemPath>${JAVA_HOME}/lib/tools.jar</systemPath>    </dependency>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

如下图,为解决之后的截图: 

这里写图片描述

HDFS(四)--Maven环境搭建

目录

HDFS(四)--Maven环境搭建..............................1

Maven是什么?.....................................1

Maven历史.........................................1

Maven目标.........................................2

Windows下安装.....................................2

1. JDK 和 JAVA_HOME.............................2

2. 下载Apache Maven............................2

3. 添加 M2_HOME 和 MAVEN_HOME...................3

4. 添加到环境变量 - PATH........................4

5. 验证.........................................4

Linux下安装.......................................4

maven 常用命令:...................................5

命令行创建maven项目............................6

eclipse 集成 maven 插件:..........................6

eclipse配置 maven.................................7

Maven本地仓库....................................11

maven dependcy 查看:..........................11

<!--仓库列表-->................................11

下载jar 包的流程:............................12

本地仓库:.....................................12

 

ApacheMaven是一个软件项目管理和综合工具。基于项目对象模型(POM)的概念,Maven可以从一个中心资料片管理项目构建,报告和文件。

Maven是什么?

Maven是一个项目管理和综合工具。Maven提供了开发人员构建一个完整的生命周期框架。开发团队可以自动完成项目的基础工具建设,Maven使用标准的目录结构和默认构建生命周期。

在多个开发团队环境时,Maven可以设置按标准在非常短的时间里完成配置工作。由于大部分项目的设置都很简单,并且可重复使用,Maven让开发人员的工作更轻松,同时创建报表,检查,构建和测试自动化设置。

Maven提供了开发人员的方式来管理:

·        Builds

·        Documentation

·        Reporting

·        Dependencies

·        SCMs

·        Releases

·        Distribution

·        mailing list

概括地说,Maven简化和标准化项目建设过程。处理编译,分配,文档,团队协作和其他任务的无缝连接。 Maven增加可重用性并负责建立相关的任务。

Maven历史

Maven最初设计,是以简化Jakarta Turbine项目的建设。在几个项目,每个项目包含了不同的Ant构建文件。 JAR检查到CVS。

Apache组织开发Maven可以建立多个项目,发布项目信息,项目部署,在几个项目中JAR文件提供团队合作和帮助。

Maven目标

Maven主要目标是提供给开发人员:

·        项目是可重复使用,易维护,更容易理解的一个综合模型。

·        插件或交互的工具,这种声明性的模式。

Maven项目的结构和内容在一个XML文件中声明,pom.xml 项目对象模型(POM),这是整个Maven系统的基本单元。有关详细信息,请参阅Maven POM的部分。

 

Apache Maven 是一种创新的软件项目管理工具,提供了一个项目对象模型(POM)文件的新概念来管理项目的构建,相关性和文档。最强大的功能就是能够自动下载项目依赖库。

Windows下安装

1. JDK 和 JAVA_HOME

确保已安装JDK,并 “JAVA_HOME”变量已加入到 Windows 环境变量。


Maven 3.2
要求 JDK 1.6 或以上版本, 而 Maven 3.0/3.1 需要 JDK 1.5 或以上

 

2. 下载Apache Maven

访问 http://maven.apache.org/download.cgi,打开后找到下载链接

下载 Maven 的 zip 文件,例如: apache-maven-3.3.3-bin.zip,将它解压到你要安装 Maven 的文件夹。

3. 添加 M2_HOME 和 MAVEN_HOME

添加 M2_HOME 和 MAVEN_HOME 环境变量到 Windows 环境变量,并将其指向你的 Maven 文件夹。

M2_HOME或MAVEN_HOME
Maven
说只是添加M2_HOME,但一些项目仍引用Maven的文件夹MAVEN_HOME,因此,为了安全也把它添加进去。

4. 添加到环境变量 - PATH

更新 PATH 变量,添加 Maven bin 文件夹到 PATH 的最后,如: %M2_HOME%\bin, 这样就可以在命令中的任何目录下运行 Maven命令了。

5. 验证

完成,以验证它,执行 mvn –version 在命令提示符下,如下图输出结果:

如果你看到类似消息,说明 Apache Maven 在 Windows 上已安装成功。

 

Linux下安装

下载对应安装包,解压到指定文件夹

在/etc/profile文件中配置maven环境变量

[etc/environment]

   M2_HOME=/data/apache-maven-3.0.5

   PATH=...:/data/apache-maven-3.0.5/bin

使配置文件生效

重新登录命令行,验证是否配置成功

maven 常用命令:

1. mvn -v 或者 mvn -version:

验证环境变量

2. mvn help:system

打印出所有的系统属性和环境变量

3. mvn compile:

编译项目源代码(不会编译test 目录的元代)(会产生target文件)

4. mvn test: 运行应用程序中的单元测试

5. mvn test-compile 编译测试代码,compile 之后生成的targer 文件夹 主程序编译在classes 文件夹下面,测试程序代码放在test-classes 文件夹下

6. mvn clean 删除target 文件夹

测试工程:

1)创建hello-world项目所在文件夹

   2)在hello-world文件夹下创建pom.xml并添加内容

<?xml version="1.0"?>

<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.0http://maven.apache.org/xsd/maven-4.0.0.xsd">

   <modelVersion>4.0.0</modelVersion>

   <groupId>com.neworigin.hello-world</groupId>

   <artifactId>hello-world</artifactId>

   <version>1.0-SNAPSHOT</version>

   <name>maven hello worldproject</name>

</project>

 

3)创建文件夹

      >cdhello-world

      >mkdir -psrc/main/java

4) 创建HelloWorld.java文件

packagecom.neworigin.helloworld;

 

public classHelloWorld

{

    public static void main( String[] args )

    {

        System.out.println( "HelloWorld!" );

    }

}

5)在pom.xml文件所在目录运行mvn clean compile

   >cd hello-world

   >mvn clean compile  //clean:删除target文件夹,compile编译源代码

6) 运行编译类

>javacom.neworigin.helloworld.HelloWorld

 

 

首次运行完mvn -version后,会在用户目录下创建一个.m2的目录(比如:C:\Users\当前用户名\.m2\),这个目录是maven的“本地仓库”。

试想一下,我们会在工作中同时创建很多项目,每个项目可能都会引用一些公用的jar包,一种作法是每个项目里,都复制一份这些依赖的jar包,这样显然不好,相同的文件在硬盘上保存了多份,太占用空间,而且这些依赖的jar包的版本也不太好管理(比如某个公用的jar包,从1.0升级到2.0,如果所有引用这个jar包的项目都需要更新,必须一个个项目的修改)。

maven的仓库则很好的解决了这些问题,它在每台机器上创建一个本机仓库,把本机上所有maven项目依赖的jar包统一管理起来,而且这些jar包用“坐标”来唯一标识(注:这里只要简单理解成“唯一识别某个jar文件名、版本号”的标识即可),这样所有maven项目就不需要再象以前那样把jar包复制到lib目录中,整个maven项目看起来十分清爽。

maven默认的仓库地址为:${user}/.m2/repository/,都是在用户目录下,我们可以按照需要修改本地仓库位置。具体操作如下。在maven目录下找到conf目录中的setting.xml,将其中的<localRepository>xxxx</localRepository>设置为自己的本地仓库路径。

命令行创建maven项目

mvn archetype:generate -DgroupId=com.xxx.xxx-DartifactId=xxx -Dversion=1.0-SNAPSHOT -Dpackage=com.xxx

一般情况

-DgroupId 公司名称反写+项目名称

-DartifactId 项目名称-模块名称

-Dversion 项目版本号

-Dpackage 源码包目录

 

NOTE:DgroupId 和Dpackage 是相同的,官方推荐的,看起来更加清晰

 

eclipse 集成 maven 插件:

1. eclipse 已经系统集成

通常情况,eclipse已经系统集成了maven插件

2. 如果没有eclipse 没有系统集成:

a.在线安装

1.1 Help--Install New SoftWare

1.2 添加maven 插件地址

1.3 勾选对应的选项

1.4 下载好 记得重启eclipse

1.5 验证:window-->perferences-->maven

b.离线安装(推荐)

1.1 下载好maven 插件

1.2 解压到 eclipse/dropins 目录

1.3 重启eclipse

1.4 验证:window-->perferences-->maven

 

eclipse配置 maven

1.在Preferences-->Maven-->Installations点击 Add 按钮,选到你本机安装 Maven 的路径值

2.在Preferences-->Maven-->User Settings中,点击Update Settings,加载刚才我们 对settings.xml的更改

3. 创建maven 项目:

右击空白处 new ---> other--->maven project

4. 修改为本地的jdk 目录:

右击JRE System Library-->Properties-->修改为本地的JRE

 

5. 编译运行maven项目:

右击pom.xml-->runas-->maven build

 

Maven本地仓库

maven dependcy 查看:

http://search.maven.org/

http://mvnrepository.com/

NOTE: 推荐大家 手动指定文件夹与包名一致

 

大家发现mvn compile 会去下载项目所依赖的jar包

Downloading:https://repo.maven.apache.org/maven2/junit/junit/xxx

lib/maven-model-builder-3.3.9.jar (Object)

<!--仓库列表-->

<repositories>

<repository>

<!--中央仓库的物理标识-->

<id>central</id>

<!-仓库的名称--->

<name>Central Repository</name>

<!-- 链接的url -->

<url>https://repo.maven.apache.org/maven2</url>

<!--默认路径-->

<layout>default</layout>

<!--禁止下载 snapshot-->

<snapshots>

<enabled>false</enabled>

</snapshots>

</repository>

</repositories>

 

maven 所提供的中央仓库

下载jar 包的流程:

我们compile 的时候

1. 会去本地仓库查找是否有对应的jar(依赖)

2. 如果没有默认会去maven 中央仓库进行下载

本地仓库:

可以在settings.xml文件中配置本地仓库位置

<!-- localRepository

| The path to the local repository maven will use tostore artifacts.

|

| Default: ${user.home}/.m2/repository

<localRepository>/path/to/local/repo</localRepository>

-->

NOTE:

镜像仓库:

maven 的中央远程仓库服务器是在国外的,大天朝对国外的部分网站访问不是太好,所以国内有人将已经下载好的jar 提供给大家进行下载

可以在settings.xml文件总配置镜像地址

--mirrors

--mirror:

<mirror>

<id>repo2</id>

<mirrorOf>central</mirrorOf>

<name>Human Readable Name for this Mirror.</name>

<url>http://repo2.maven.org/maven2/</url>

</mirror>

对于maven setttings.xml 一般不建议修改maven安装目录下的conf/settings.xml (全局),推荐大家拷贝settings.xml 到你对应的本地仓库目录下面(C:\Users\daibin\.m2/settings.xml)进行修改

 

运行jar包:

>java -cphelloworld-0.0.1-SNAPSHOT.jar com.neworigin.helloworld.HelloWorld


阅读全文
1 0
原创粉丝点击