当前位置:  开发笔记 > 编程语言 > 正文

Intellij Java 2016和Maven:如何在JAR中嵌入依赖项?

如何解决《IntellijJava2016和Maven:如何在JAR中嵌入依赖项?》经验,为你挑选了1个好方法。

我正在使用Intellij Java 2016.2.2和Maven来创建一个非常简单的Java控制台应用程序.

我想添加一个外部库,所以我在Maven中添加我的依赖项,如下所示:


    jline
    jline
    2.12

它在IDE中运行时工作正常,但在外部控制台中没有(我有以下错误:java.lang.NoClassDefFoundError).

我检查过,由于某种原因,我刚刚生成的JAR中没有添加外部JAR.我还在"文件 - >项目结构"中尝试了很多东西,但仍然没有工作......

我只想用我的依赖项构建我的JAR,所以我可以使用以下命令在控制台中运行我的应用程序:

java -jar myproject.jar

我怎样才能做到这一点?谢谢你的帮助!



1> matteoh..:

我终于设法使用Intellij Java生成这个JAR,这是我的工作方式:

在pom.xml文件中添加依赖项

转到文件 - >项目结构 - >工件 - >新建 - > JAR - >从具有依赖关系的模块

选择Main类,然后单击"确定"

在您的项目中,在src/main中,创建"resources"文件夹

在此"resources"文件夹中移动"META-INF"(其中包含MANIFEST.MF)文件夹

转到Build - > build artifacts来构建JAR

编辑

更好(更简单的方法)是在pom.xml文件中添加以下行:


    
        
            maven-assembly-plugin
            
                
                    
                        your.MainClass
                    
                
                
                    jar-with-dependencies
                
            
            
                
                    make-assembly
                    package
                    
                        single
                    
                
            
        
    

然后使用"clean"和"package"maven命令.

上面的最后3个步骤(关于MANIFEST.MF)似乎仍然是强制性的.

推荐阅读
李桂平2402851397
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有