Java .jar中缺少依赖项

Java .jar中缺少依赖项,java,jar,intellij-idea,Java,Jar,Intellij Idea,我刚刚用intelijidea创建了jar文件(对于所有依赖项,Idea配置在下面进行了筛选)。在我的电脑上,一切正常。但当我在其他pc上运行这个jar时,我遇到了一个错误(可能是缺少mysql适配器依赖项,错误在下面的屏幕上)。你能告诉我,我做错了什么吗 我没有足够的声誉在这里发布图片,所以我把它们放在社交网络vk.com上并提供链接。很抱歉给您带来不便 Intelij创意设置: http://cs14113.vk.me/c322718/v322718617/964b/HDHClNkavg4.

我刚刚用intelijidea创建了jar文件(对于所有依赖项,Idea配置在下面进行了筛选)。在我的电脑上,一切正常。但当我在其他pc上运行这个jar时,我遇到了一个错误(可能是缺少mysql适配器依赖项,错误在下面的屏幕上)。你能告诉我,我做错了什么吗

我没有足够的声誉在这里发布图片,所以我把它们放在社交网络vk.com上并提供链接。很抱歉给您带来不便

Intelij创意设置:

http://cs14113.vk.me/c322718/v322718617/964b/HDHClNkavg4.jpg

http://cs14113.vk.me/c322718/v322718617/9642/nFliouxOVKU.jpg

在其他PC上发布:
http://cs14113.vk.me/c322718/v322718617/9639/AdIOBlObCak.jpg

创建JAR文件时的标准行为不是包含所有依赖项,而是告诉
java
在运行时使用
-cp
包含必要的JAR文件,例如
-cp mysql driver.JAR
。我强烈建议这样做

但是如果你真的想要一个包含所有依赖项的“你能吃的”罐子,你可以进入
文件>项目结构…
,选择
模块
,选择你的模块,点击
依赖项
选项卡并选中
导出
列下的复选框

在您的屏幕截图中,看起来您包含了lib文件夹的所有jar,但作为Classpath,您有一个mysql连接器的绝对路径名。解压创建的jar并查看META-INF/MANIFEST.MF。可能mysql连接器仅在此处引用,未包含在您的jar中:

jar tvf Rate_Updater.jar | grep mysql
作为替代方案,您可以尝试
Build>buildartifact…
并选择一个包含所有依赖项的工件。不确定您的项目类型是否存在类似的情况


如果你使用Maven,你可以使用插件。与往常一样,在使用maven时,您将以数百行不可读的XML结尾;-)

它们不是垃圾邮件。为什么他会发垃圾链接?如果你使用vk.com,你会发现他们没有使用其他域的链接-vk.me。而且,他们有很多访问者,所以他们应该能够创建很多访问者(这就是为什么子域名cs14113出现在链接中的原因)我不认为有人会费这么大的劲来向一个技术含量很高的听众发送垃圾邮件。我们可以停止关于垃圾邮件的讨论,尝试解决一个问题吗?这听起来不像是有趣的。他说他导出了所有依赖项