java.lang.NoClassDefFoundError:org / apache / tools / ant / util / ReaderInputStream javaFx + intelliJ

时间:2018-07-09 06:35:30

标签: java intellij-idea javafx deployment javafx-8

我目前正在使用IntelliJ IDE(正是INTELIJ IDEA 2017.1.6版本)构建JavaFX应用程序。在我想要构建工件或捆绑应用程序之前,运行应用程序一直很好,但是不幸的是,它拒绝构建或重建项目。 我尝试过

  

文件>使高速缓存无效/重新启动...   
并尝试:
  sudo git clean -dfx
(但它删除了.idea,build和lib文件夹,其中包含运行应用程序所需的库-谢谢上帝,我已经有了该文件夹的备份,因此我可以将其替换为它也无法运行)   
如此处所述   java.lang.NoClassDefFoundError: org/apache/tools/ant/util/ReaderInputStream vaadin+gradle+intelliJ

我也尝试(NoClassDefFound: org/apache/tools/ant/util/ReaderInputStream)。 但是该项目使用的是Intelij默认的JavaFX构建,而没有gradle。

project.iml文件内容:

<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
  <component name="FacetManager">
    <facet type="hibernate" name="Hibernate">
      <configuration>
        <datasource-map>
          <unit-entry name="major:hibernate.cfg.xml" />
        </datasource-map>
        <naming-strategy-map />
        <deploymentDescriptor name="hibernate.cfg.xml" url="file://$MODULE_DIR$/src/major/MembershipAccount.hbm.xml" />
        <deploymentDescriptor name="hibernate.cfg.xml" url="file://$MODULE_DIR$/src/major/hibernate.cfg.xml" />
      </configuration>
    </facet>
  </component>
  <component name="NewModuleRootManager" inherit-compiler-output="true">
    <exclude-output />
    <content url="file://$MODULE_DIR$">
      <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/resources" type="java-resource" />
    </content>
    <orderEntry type="inheritedJdk" />
    <orderEntry type="sourceFolder" forTests="false" />
    <orderEntry type="library" name="Hibernate 5.2.16-5.2.16" level="project" />
    <orderEntry type="library" name="mysql:mysql-connector-java:5.1.46" level="project" />
    <orderEntry type="library" name="mysql:mysql-connector-java:5.1.40" level="project" />
    <orderEntry type="library" name="de.jensd:fontawesomefx-commons:9.1.2" level="application" />
    <orderEntry type="library" name="de.jensd:fontawesomefx-fontawesome:4.7.0-9.1.2" level="application" />
    <orderEntry type="library" name="de.jensd:fontawesomefx-emojione:3.1.1-9.1.2" level="application" />
    <orderEntry type="library" name="de.jensd:fontawesomefx-icons525:4.2.0-9.1.2" level="application" />
    <orderEntry type="library" name="de.jensd:fontawesomefx-weathericons:2.0.10-9.1.2" level="application" />
    <orderEntry type="library" name="org.controlsfx:controlsfx:8.40.12" level="project" />
  </component>
</module>

编辑:它正在使用默认的生成工具查看已附加的图像 enter image description here

请,我真的需要部署它。任何帮助或建议都将受到高度赞赏。

工件设置屏幕 enter image description here

1 个答案:

答案 0 :(得分:0)

幸运的是,在@ y.bedrov建议我尝试一个新的版本之后,它就可以正常工作了,这是一种确定该版本存在问题的明确方法。 我创建了一个新的JAVAFX项目,然后进行构建,重建以及构建构件,它们都起作用。但是幸运的是,构建工件没有像构建和重新构建那样使用直接构建过程,因此正是在部署之后,我正在构建的项目停止了工作。
请参阅屏幕截图,以更好地了解我的发现。
正常搭建(不够用)
使用构建工件: enter image description here 我只能使用Build Artifacts命令来清理,构建和重建,该命令会弹出一个菜单,如下所示。

enter image description here 这是我必须对其进行构建或重建或清理的地方。

enter image description here

如您所见,构建成功。它也运行良好 enter image description here 如上所示,使用Previous build项目再次构建仍无法正常工作。好吧,我很高兴它终于成功了。这解决了我的问题。希望对别人有帮助。感谢您的帮助@Itai和@ y.bedrov