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

从很久之前,我就在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文件里打上依赖全部解决。