JAVAidea怎么把JAVA变成impl?方法讲解

JAVA idea是 Java 语言的集成开发环境,IDEA 在业界被公认为是最好的 java 开发工具之一,尤其在智能代码助手、代码自动提示等方面的功能可以说是超常的,那JAVAidea怎么把JAVA变成impl?下面来我们就来给大家讲解一下。

java impl 是一个资源包,用来存放java文件的。

下面是一个用来打包的示例工程:

JAVAidea怎么把JAVA变成impl?方法讲解.png

配置步骤

创建一个library指向包含依赖外部jar的目录:

1.png

创建一个artifacts:

2.png

选择main函数所在类

3.png

构建jar包

点击【Build】->【Build Artifacts】->【Build】,打包成功。

执行测试

PS C: \work\ dev\ javahello\ out\ artifacts > java - jar.\javahello_jar\ javahello.jar
Hello World!
    SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no - operation(NOP) logger implementation
SLF4J: See http: //www.slf4j.org/codes.html#StaticLoggerBinder for further details.
    Windows
PS C: \work\ dev\ javahello\ out\ artifacts >

如果直接在idea里面点【运行】可以执行成功,但是打包的jar包执行时报库中的类没有找到:

PS C: \work\ dev\ javahello\ out\ artifacts\ javahello_jar > java - jar.\javahello.jar
Hello World!
    Exception in thread "main"
java.lang.NoClassDefFoundError: oshi / SystemInfo
at Main.main(Main.java: 7)
Caused by: java.lang.ClassNotFoundException: oshi.SystemInfo
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
    ...1 more

那可能是因为在创建Artifacts之后,再把jar包放到lib目录中的。如果是这样只需要把原来创建的Artifacts删了重新创建一个,重新创建的时候会提示MANIFEST.MF文件已经存在,把MANIFEST.MF删除后重新创建Artifacts就行。

也就是说【创建Artifacts】这一步要在加lib库文件之后做。

这样我们就完成了JAVA变成impl的相关操作,其实java impl 就是一个包,主要就是存储java的,我们只要按照以上方法去做就可以了!最后大家如果想要了解更多java入门知识,敬请关注奇Q工具网。

推荐阅读:

Java工程师怎么定级?Java工程师如何晋升?

springcloud和dubbo区别有哪些?springcloud有什么优势?

springcloud组件以及使用原理是什么?springcloud版本如何选择?