使用javafx和apache POI在项目中使用项目获取错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用javafx和apache POI在项目中使用项目获取错误相关的知识,希望对你有一定的参考价值。

我试图在android上使用Apache POI为了做到这一点我在eclipse上创建了一个gradle项目但是当我执行gradle任务androidInstall时我在dex步骤中得到一个错误。 (运行任务正在运行)

这里的错误:

Uncaught translation error: java.lang.IllegalArgumentException: already added: Ljavax/xml/stream/EventFilter;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Ljavax/xml/stream/FactoryConfigurationError;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Ljavax/xml/stream/FactoryFinder;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Ljavax/xml/stream/FactoryFinder$1;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Ljavax/xml/stream/FactoryFinder$ClassLoaderFinder;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Ljavax/xml/stream/FactoryFinder$ClassLoaderFinderConcrete;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Ljavax/xml/stream/Location;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Ljavax/xml/stream/StreamFilter;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Ljavax/xml/stream/XMLEventFactory;

UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.RuntimeException: Translation has been interrupted
at com.android.dx.command.dexer.Main.processAllFiles(Main.java:613)
at com.android.dx.command.dexer.Main.runMultiDex(Main.java:366)
at com.android.dx.command.dexer.Main.run(Main.java:275)
at com.android.dx.command.dexer.Main.main(Main.java:245)
at com.android.dx.command.Main.main(Main.java:106)
Caused by: java.lang.InterruptedException: Too many errors
at com.android.dx.command.dexer.Main.processAllFiles(Main.java:605)
... 4 more
16:41:25.082 [ERROR] [org.gradle.api.internal.project.ant.AntLoggingAdapter] [ant:java] Java Result: 2
16:41:25.083 [DEBUG] [org.gradle.api.internal.project.ant.AntLoggingAdapter] Setting project property: dexResult -> 2
16:41:25.084 [DEBUG] [org.gradle.api.Project] Dex result value = 2
16:41:25.093 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter] Finished executing task ':dex'
16:41:25.094 [LIFECYCLE] [class org.gradle.TaskExecutionLogger] :dex FAILED
16:41:25.095 [INFO] [org.gradle.execution.taskgraph.AbstractTaskPlanExecutor] :dex (Thread[Daemon worker Thread 2,5,main]) completed. Took 2 mins 19.455 secs.
16:41:25.095 [DEBUG] [org.gradle.execution.taskgraph.AbstractTaskPlanExecutor] Task worker [Thread[Daemon worker Thread 2,5,main]] finished, busy: 21 mins 29.722 secs, idle: 0.053 secs
16:41:25.103 [ERROR] [org.gradle.BuildExceptionReporter] 
16:41:25.108 [ERROR] [org.gradle.BuildExceptionReporter] FAILURE: Build failed with an exception.
16:41:25.109 [ERROR] [org.gradle.BuildExceptionReporter] 
16:41:25.109 [ERROR] [org.gradle.BuildExceptionReporter] * What went wrong:
16:41:25.109 [ERROR] [org.gradle.BuildExceptionReporter] Execution failed for task ':dex'.
16:41:25.110 [ERROR] [org.gradle.BuildExceptionReporter] > warning: Ignoring InnerClasses attribute for an anonymous inner class
16:41:25.110 [ERROR] [org.gradle.BuildExceptionReporter]   (org.apache.xmlbeans.XmlBeans$1) that doesn't come with an
16:41:25.111 [ERROR] [org.gradle.BuildExceptionReporter]   associated EnclosingMethod attribute. This class was probably produced by a
16:41:25.111 [ERROR] [org.gradle.BuildExceptionReporter]   compiler that did not target the modern .class file format. The recommended
16:41:25.112 [ERROR] [org.gradle.BuildExceptionReporter]   solution is to recompile the class from source, using an up-to-date compiler
16:41:25.112 [ERROR] [org.gradle.BuildExceptionReporter]   and without specifying any "-target" type options. The consequence of ignoring
16:41:25.112 [ERROR] [org.gradle.BuildExceptionReporter]   this warning is that reflective operations on this class will incorrectly
16:41:25.115 [ERROR] [org.gradle.BuildExceptionReporter]   indicate that it is *not* an inner class.
16:41:25.115 [ERROR] [org.gradle.BuildExceptionReporter]   warning: Ignoring InnerClasses attribute for an anonymous inner class
16:41:25.116 [ERROR] [org.gradle.BuildExceptionReporter]   (org.apache.xmlbeans.XmlSimpleList$1) that doesn't come with an
16:41:25.140 [ERROR] [org.gradle.BuildExceptionReporter]   associated EnclosingMethod attribute. This class was probably produced by a
16:41:25.140 [ERROR] [org.gradle.BuildExceptionReporter]   compiler that did not target the modern .class file format. The recommended
16:41:25.140 [ERROR] [org.gradle.BuildExceptionReporter]   solution is to recompile the class from source, using an up-to-date compiler
16:41:25.141 [ERROR] [org.gradle.BuildExceptionReporter]   and without specifying any "-target" type options. The consequence of ignoring
16:41:25.141 [ERROR] [org.gradle.BuildExceptionReporter]   this warning is that reflective operations on this class will incorrectly
16:41:25.141 [ERROR] [org.gradle.BuildExceptionReporter]   indicate that it is *not* an inner class.
16:41:25.141 [ERROR] [org.gradle.BuildExceptionReporter]   warning: Ignoring InnerClasses attribute for an anonymous inner class
16:41:25.142 [ERROR] [org.gradle.BuildExceptionReporter]   (org.apache.xmlbeans.XmlSimpleList$2) that doesn't come with an
16:41:25.142 [ERROR] [org.gradle.BuildExceptionReporter]   associated EnclosingMethod attribute. This class was probably produced by a
16:41:25.142 [ERROR] [org.gradle.BuildExceptionReporter]   compiler that did not target the modern .class file format. The recommended
16:41:25.142 [ERROR] [org.gradle.BuildExceptionReporter]   solution is to recompile the class from source, using an up-to-date compiler
16:41:25.143 [ERROR] [org.gradle.BuildExceptionReporter]   and without specifying any "-target" type options. The consequence of ignoring
16:41:25.143 [ERROR] [org.gradle.BuildExceptionReporter]   this warning is that reflective operations on this class will incorrectly
16:41:25.143 [ERROR] [org.gradle.BuildExceptionReporter]   indicate that it is *not* an inner class.
...

我读到我需要添加它来忽略警告,但我在compileSdkVersion上得到另一个错误

lintOptions {
    abortOnError false
}

这是我的build.gradle文件:

buildscript {
    repositories {
        jcenter()
    }

    dependencies {
        classpath 'org.javafxports:jfxmobile-plugin:1.0.0-b8'
    }
}

apply plugin: 'org.javafxports.jfxmobile'

mainClassName = "JavaFXStage"
version = '1.0'

repositories {
    jcenter()
}

jfxmobile {
    ios {
        forceLinkClasses = ['ensemble.**.*']
    }

    android {

        javafxportsVersion = '8u40-b5'
        compileSdkVersion  = 23     
        applicationPackage = 'any.package.name' 

    }
}

dependencies{
    def poiVersion = "3.10.1"
    compile "org.apache.poi:poi:${poiVersion}"
    compile "org.apache.poi:poi-ooxml:${poiVersion}"
    compile "org.apache.poi:ooxml-schemas:1.1"
    compile "org.apache.xmlbeans:xmlbeans:2.6.0"
}

如果您需要有关该项目的更多信息,请不要犹豫。

如果您有任何提示可以解决我的问题,谢谢。

托马斯

以上是关于使用javafx和apache POI在项目中使用项目获取错误的主要内容,如果未能解决你的问题,请参考以下文章

apache POI技术的使用

使用Apache POI从excel文件中获取图像及其位置

Apache POI使用详解

Apache POI-HSSF 与 POI-XSSF

如何将 Liferay DXP 与 Apache POI 集成?

使用java Apache poi 根据word模板生成word报表