JAVA idea是 Java 语言的集成开发环境,IDEA 在业界被公认为是最好的 java 开发工具之一,尤其在智能代码助手、代码自动提示等方面的功能可以说是超常的,那JAVAidea怎么把JAVA变成impl?下面来我们就来给大家讲解一下。
java impl 是一个资源包,用来存放java文件的。
下面是一个用来打包的示例工程:
配置步骤
创建一个library指向包含依赖外部jar的目录:
创建一个artifacts:
选择main函数所在类
构建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工具网。
推荐阅读: