Java IntelliJ IDEA-缺少工件(JAR)中的mysql

Java IntelliJ IDEA-缺少工件(JAR)中的mysql,java,intellij-idea,mysql-connector,artifact,Java,Intellij Idea,Mysql Connector,Artifact,所以。。这让我快发疯了。第二天,我试图让mysql在Java上运行,但它仍然不起作用 我正在Windows上使用IntellijIDEA(最新版本)开发一个Java应用程序,将其导出为JAR(构建工件),并在Ubuntu服务器上运行 选择在IDEA(Windows)中运行会导致包含库(mysql-connector-java-5.0.8),因为程序找不到数据库。 然而,当我上传JAR(工件)时,我得到: java.lang.ClassNotFoundException: com.mysql.jd

所以。。这让我快发疯了。第二天,我试图让mysql在Java上运行,但它仍然不起作用

我正在Windows上使用IntellijIDEA(最新版本)开发一个Java应用程序,将其导出为JAR(构建工件),并在Ubuntu服务器上运行

选择在IDEA(Windows)中运行会导致包含库(mysql-connector-java-5.0.8),因为程序找不到数据库。 然而,当我上传JAR(工件)时,我得到:

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
我什么都试过了,在花了将近16个小时的时间之后,我别无选择,真的很沮丧。我已经阅读了这里的大部分帖子,并尝试了所有的帖子,但没有一篇有效

看看JAR的大小,库就包括在内了;只是没有被Ubuntu识别。也许我需要使用某种命令参数来启用库?下面是我运行JAR的方式:

java -jar output.jar

提前谢谢

Java不支持嵌套jar文件。您需要确保所有必需的库都作为单独的JAR或目录位于类路径上。


如果您正在制作企业应用程序,您的应用程序服务器通常应该为您提供JDBC驱动程序,这意味着您需要正确配置该驱动程序,并设置应用程序以使用jndi检索连接。

请检查MANIFEST.MF文件的类路径中是否包含您的库

例如:

Manifest-Version: 1.0
Class-Path: mysql-connector
Main-Class: some.package.mainClass

我想我已经修好了,但我不知道怎么做。在projectstructure->Artifacts下,我右键单击了库(JAR)并选择了“提取到输出根目录”。我不知道这是否有什么值得骄傲的地方,但至少现在这是可行的,我可以继续发展

为了记录在案,这里是我的.IML文件:

<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
  <component name="NewModuleRootManager" inherit-compiler-output="false">
    <output url="file://$MODULE_DIR$/production" />
    <output-test url="file://$MODULE_DIR$/test" />
    <exclude-output />
    <content url="file://$MODULE_DIR$">
      <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
      <excludeFolder url="file://$MODULE_DIR$/.idea" />
    </content>
    <orderEntry type="inheritedJdk" />
    <orderEntry type="sourceFolder" forTests="false" />
    <orderEntry type="module-library" exported="">
      <library>
        <CLASSES>
          <root url="file://$MODULE_DIR$/libs" />
        </CLASSES>
        <JAVADOC />
        <SOURCES />
        <jarDirectory url="file://$MODULE_DIR$/libs" recursive="false" />
      </library>
    </orderEntry>
    <orderEntry type="library" name="mysql:mysql-connector-java:5.1.36" level="project" />
  </component>
</module>

您正在使用构建脚本吗?如果是,请将其包括在您的问题中