首页 > 编程语言 >IDEA中如何利用Maven给JAVA添加第三方库和打包问题

IDEA中如何利用Maven给JAVA添加第三方库和打包问题

时间:2023-02-04 23:11:20浏览次数:41  
标签:maven JAVA -- jar IDEA Maven platform jna com

  • 从今天开始,遇到技术上的问题都会在这里写下来,虽然有可能都是小儿科问题,但是自己成功解决出来,还是很开心的。

从很久之前,我就在java 导包的过程中遇到问题,他不像python那样 直接pip,去网上查也是模棱两可,在此归纳一下自己找到的3个办法:

  1. 利用IDEA的import搜索,直接拉到IDEA最下面dependencies 在里面搜索

    2. 从maven官方搜索下载(https://mvnrepository.com/),之后找到特定的jar包,在pom文件里添加

<dependencies> <!-- https://mvnrepository.com/artifact/net.java.dev.jna/platform --> <!-- <dependency>--> <!-- <groupId>net.java.dev.jna</groupId>--> <!-- <artifactId>platform</artifactId>--> <!-- <version>3.5.2</version>--> <!-- </dependency>--> <!-- https://mvnrepository.com/artifact/net.java.dev.jna/jna-platform --> <dependency> <groupId>com.sun.jna.platform</groupId> <artifactId>jna-platform</artifactId> <version>5.13.0</version> </dependency> </dependencies>

 

   3. 自己手动下载jar包,自己手动添加到maven里: 第一种手动添加到maven的方法是右键点击总根目录,按F4出现项目结构-模块,这时候点击右边的加号,导入放在src/main/resources的jar包。

                             第二种手动添加到maven的方法是右键点击外部库里的JDK,再按F4,同样点价加号,导入放在src/main/resources的jar包。

                          第三种是执行maven指令,在右边Maven的目录条上,代码如下,参考(https://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html)

mvn install:install-file 
-Dfile=<path-to-file> 
-DgroupId=<group-id> 
-DartifactId=<artifact-id> 
-Dversion=<version> 
-Dpackaging=<packaging>

例如:
mvn install:install-file 
 -Dfile=C:\Users\Administrator\IdeaProjects\spark\SteamTest\src\main\resources\jna-platform-5.13.0.jar
 -DgroupId=com.sun.jna.platform
 -DartifactId=jna-platform
 -Dversion=5.13.0
 -Dpackaging=jar

 

 之后是JAVA打包成JAR,点击文件-项目结构-工件,添加JAR来自空,需要把编译输出和导入的第三方库全部添加到左边来,再点击第一行的jar,这时候下面会出现清单属性,需要添加主类,之后确定应用,然后找到构建,点击构建项目,等一会再点击构建工件,这样你的Maven项目就会打包成jar,在out/artifacts下就能找到。

 

对了,忘了说了,也是我之前自己学习,想利用JAVA操作WINDOWS 注册表的时候就出现过得问题,我当时调用的是import com.sun.deploy.util.WinRegistry,还是一如既往的直接getstring,很简单就操作了注册表,运行了也没问题,可以得到想要的输出,但是当我暗按照上面的流程打包成JAR,在CMD里输入JAVA -JAR TEST.JAR的时候,咔叽,直接报错,说找不到com.sun.deploy类,我当时真的是头大,找了半天资料也没解决,Maven编译项目显示 程序包com.sun.*包不存在,后来我才研究出来原来是要在pom文件里把依赖填上,最后能正常运行的我真是想给自己一巴掌,代码类似如下

<?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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>SteamTest</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>



    <dependencies>
        <!-- https://mvnrepository.com/artifact/net.java.dev.jna/platform -->
<!--        <dependency>-->
<!--            <groupId>net.java.dev.jna</groupId>-->
<!--            <artifactId>platform</artifactId>-->
<!--            <version>3.5.2</version>-->
<!--        </dependency>-->
        <!-- https://mvnrepository.com/artifact/net.java.dev.jna/jna-platform -->
        <dependency>

            <groupId>com.sun.jna.platform</groupId>

            <artifactId>jna-platform</artifactId>

            <version>5.13.0</version>

        </dependency>

    </dependencies>
    <build>
        <pluginManagement>
            <plugins>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.7.0</version>
                    <configuration>
                        <source>1.8</source>
                        <target>1.8</target>
                        <encoding>UTF-8</encoding>
                    </configuration>
                </plugin>

            </plugins>
        </pluginManagement>
    </build>

</project>

至此,从java导第三方包,到打包成JAR文件,再到找不到class类,需要在pom文件里打上依赖全部解决。

 

标签:maven,JAVA,--,jar,IDEA,Maven,platform,jna,com
From: https://www.cnblogs.com/LieInApril/p/17092606.html

相关文章

  • java学习
    java学习快捷键1.psvm和sout(打印输出的快捷键)2.在使用浮点类型时注意浮点数是一个近似值,在处理银行业务时需要使用的是BigDecimal数学工具类3.在强制转换类型的时候......
  • Java多线程01——多线程的创建
    1进程和线程进程:进程是并发执行程序在执行过程中,资源分配和管理的基本单位。进程可以理解为一个应用程序的执行过程,应用程序一旦执行,就是一个进程。线程:线程是进程的一个执......
  • java基础:数组
    概述数组是相同类型数据的有序集合可以是任何类型每一个数据被称为该数组的一个数组元素,可以使用下标访问每一个元素下标从0开始,按顺序递增数组长度是固定的,创建后不......
  • java基础:方法
    方法方法是解决一类问题的步骤的有序组合包含于类/对象中设计原则方法的原子性:一个方法只实现一个功能定义与调用方法的组成:方法的调用若方法返回值为空......
  • Java instanceof运算符
    javainstanceof运算符用于测试指定对象是否是指定类型(类或子类或接口)的实例。java中的instanceof也称为类型比较运算符,因为它将类型与实例进行比较。它返回true或fal......
  • Java静态绑定和动态绑定
    将方法调用连接到方法体称为绑定。在java中有两种类型的绑定:静态绑定(也称为早期绑定)。动态绑定(也称为后期绑定)。了解类型下面让我们来了解实例的类型。1.变......
  • Android集成mupdf,实现手写笔签字,手指翻页的java代码
    importandroid.graphics.Bitmap;importandroid.graphics.Color;importandroid.graphics.RectF;importandroid.util.Log;importjava.util.LinkedList;importc......
  • Java多态
    Java中的多态是一个概念,通过它我们可以通过不同的方式执行单个动作(方法)。多态性派生自2个希腊词:“poly”和“morphs”。词语“poly”意为许多,“morphs”意为形式。所......
  • Java final关键字
    java中的final关键字用于限制用户修改变量或重写一个类或方法。javafinal关键字可以在许多上下文中使用。final可以是:变量方法类final关键字可以应用于变量,没有......
  • Java 多线程学习
    Java多线程学习Thread类学习首先使类继承Thread然后创建run方法其中在线程中run主要是线程执行体在线程中new这个类然后使用start进行线程打开注:线程中是同......